- ベストアンサー
cdコマンドの移動先の取得について
はじめまして。 早速質問させていただきたいのですが ディレクトリ移動する際のcdコマンドの引数(移動先)を 別のコマンドの出力結果(標準出力)から取得することは できないでしょうか? 具体的には ある絶対パスを出力するコマンド(仮にPathgetとします)の出力結果に cdで移動する際に今は一度 >Pathget /AAA/BBB/CCC ←標準出力 と出してから上記のパスをコピペして >cd /AAA/BBB/CCC としています。 これを一度にPathgetの出力結果をcdの入力にしたいのです。 安直に|(パイプライン)で繋げればいいのかと思ったのですが うまくいきませんでした。 申し訳ございませんが、お知恵をお借りできないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こちらでも試してみましたが、確かにxargsダメですねぇ。 > cd `Pathget` #1提示のこれはちゃんと動作しますね。 > cd 'Pathget' > >ファイルもディレクトリもありません 上の例示とは囲み文字が違うのにお気づきでしょうか? ''がただの括りなのに対して``は括られた中身がコマンドであると解釈してその実行結果の出力に置換される、という違いがあります。 なので、cd `Pathget`はcd /AAA/BBB/CCCと等価になるわけです。
その他の回答 (2)
- D-Matsu
- ベストアンサー率45% (1080/2394)
xargsでどうですか? $ Pathget | xargs cd
補足
xargsに-Pオプションをつけてコマンドを確認してみたのですが コマンドは cd /AAA/BBB/CCC と表示されたのですが それを実行してもカレントディレクトリのままでした。
- tux_the_penguin
- ベストアンサー率42% (69/163)
cd $(Pathget) とか cd `Pathget` とかはいかがですか?
お礼
ご回答ありがとうございました 今日試してきたのですがどちらもダメでした。 cd $(Pathget) >Illegal variable name cd 'Pathget' >ファイルもディレクトリもありません と出ました。
お礼
ご指摘いただいた件ですが `(バッククォート)をずっと'(シングルクォート)と 勘違いして入力していました。 `で囲むと無事動作いたしました。 ご教授いただきありがとうございました。