パイプされたpwdとechoが機能しないのはなぜですか? [コピー]

パイプされたpwdとechoが機能しないのはなぜですか? [コピー]

私はUnixを初めて使用します。 Ubuntu端末に次のコマンドを入力しました。

pwd | echo

pwdターミナル()から出力が出ると予想しましたが、/home/fatemeh/Documents/Code/test出力は次のようになります。空行

なぜこれが起こるのですか?

ベストアンサー1

echo標準入力に対しては何も行いません。引数だけを解析します。そのためecho、実際に空行を出力して標準入力が削除されるのを効果的に実行しています。

達成したい動作を確認するには、標準入力を解析するように設計されたツールを使用してくださいcat。たとえば、次のようになります。

$ pwd | cat
/home/username

echoこれを使用して現在の作業ディレクトリ(または他のコマンドの出力)を表示するには、コマンド置換を使用してこれを実行できます。

$ echo "Your shell is currently working in '$(pwd)'."
Your shell is currently working in '/home/username'.

おすすめ記事