09/08/12 10:00:09
ageは落ちないようにするためだと思ってる人がいるとはな。
天然記念物を見た。
516:名無しさん@お腹いっぱい。
09/08/13 21:05:12
$ sh -c 'cd /tmp; pwd'
だと、/tmpと表示されますが、
$ ssh example.org sh -c 'cd /tmp; pwd'
だと、/home/...などと表示されます。
相手がLinuxでもOpenBSDでもそうです。
なぜでしょうか?
517:名無しさん@お腹いっぱい。
09/08/13 21:06:39
仕様です
ソース読め
結構深い行にあったな
518:516
09/08/13 21:16:27
>>517
はは!
519:名無しさん@お腹いっぱい。
09/08/13 21:18:27
>>516
クォートの展開の問題。元のシェルとsshとでクォートが2回展開されるのが原因。
ssh example.org sh -c '"cd /tmp; pwd"'
とすれば桶。
>>517
ソースは関係ない。「結構深い行」って何だよ。全然関係ない。
すみませんが詳しい人として回答しました
520:名無しさん@お腹いっぱい。
09/08/13 21:44:00
× 詳しい人
○ 自称詳しい人
> 元のシェルとsshとでクォートが2回展開されるのが原因。
元のシェルがパーズした時点でクォートはなくなるので、2回は展開できない。
521:名無しさん@お腹いっぱい。
09/08/13 21:44:44
真実はどこだ
522:名無しさん@お腹いっぱい。
09/08/13 21:46:47
>>520
元のシェルがパーズした時点ではシングルクォートだけがなくなる。
ダブルクォートはこの時点では単なる文字としてsshに渡される。
ssh側でパーズされる際にダブルクォートが解釈の上除去される。
523:名無しさん@お腹いっぱい。
09/08/13 21:56:33
パーズ??
524:名無しさん@お腹いっぱい。
09/08/13 22:02:34
>>523
英語(parse)も知らないゆとり乙。
先に言っとくけど、米語発音だと「パース」だとかの突っ込みなら面白くないぞ。
525:名無しさん@お腹いっぱい。
09/08/13 22:12:35
ぱーズ
526:名無しさん@お腹いっぱい。
09/08/13 22:25:49
親方!空から
527:名無しさん@お腹いっぱい。
09/08/13 22:35:07
>>524
なんだ、パースってしってんジャン
528:名無しさん@お腹いっぱい。
09/08/13 22:44:04
それはパズー
529:名無しさん@お腹いっぱい。
09/08/13 22:46:59
>>522
惨め過ぎる言い訳止めたら?
↓は>>516が期待通りに動作しない事の説明したつもりなんだろ。
> クォートの展開の問題。元のシェルとsshとでクォートが2回展開されるのが原因。
530:名無しさん@お腹いっぱい。
09/08/13 22:47:47
>>524
パースだろうというツッコミだとわかっているのなら、一行目はないだろ。
531:名無しさん@お腹いっぱい。
09/08/13 22:53:11
>>529
クォートの展開動作が2回行なわれるのは事実。間違いない。
>>516 の ssh example.org sh -c 'cd /tmp; pwd'
が期待通りに動作しないのは、
516 としては シングルクォートが ssh側で展開されることを期待したのだろうが、
それよりも先に、元のシェル側で展開されてしまうから、
期待通りに動作しない。
元のシェル側と、ssh側で、2回の展開動作ね。
532:名無しさん@お腹いっぱい。
09/08/13 22:56:47
> クォートの展開の問題。元のシェルとsshとでクォートが2回展開されるのが原因。
533:名無しさん@お腹いっぱい。
09/08/13 22:57:09
>>530
英米両方の発音を知らない者はゆとり
534:名無しさん@お腹いっぱい。
09/08/13 22:57:55
>>532
正解
535:名無しさん@お腹いっぱい。
09/08/14 01:32:30
>>533
勝手にハードル上げるな