簡単な答え

簡単な答え

xargsとコマンドに問題がありますpipe。次は例です=

echo 'a' | xargs mkdir

このコマンドはというディレクトリを作成しますa。だから私はこのコマンドが次のとおりであることを理解できます。mkdir a

しかし、なぜこのコマンドが機能しないのですかecho 'a' | mkdir

pipe私はコマンドが左側のコマンドの出力を右側のコマンドの入力に渡し、コマンドが左側のコマンドの出力を| xargs右側のコマンドの引数として渡すことを読みました。

1.入力とパラメータの違いは何ですか?

2-echo 'a' | mkdirこのコマンドが機能しないのはなぜですか。このコマンドと同等のものは何ですか?

ありがとうございます...

ベストアンサー1

簡単な答え

パラメータは入力です。

より長い答え

他のタイプの入力もあります。

あなたの例では、標準入力を読みたいとecho 'a' | mkdir思います。mkdirしかし、mkdirそうするように書かれたわけではありません。

おっしゃった入力は標準入力(stdin)です。出力は標準出力(stdout)です。すべて標準エラー(stderr)があります。そして終了コード。

答えが長くなりました。違いは何ですか?

プログラムが始まる前にパラメーターを使用できる必要があります。通常は次のようになります。オプション、ファイル名、短いテキストが含まれます。

プログラムの実行中に標準入力に書き込むことができます。プログラムの起動時に存在しないデータは順番に読み取ることができません。したがって、長さは制限されない。さらに必要です。ファイル名の送信パラメータとして、各プロセスには1つの標準入力しかありません。

echo 'a' | xargs mkdirいいえ。xargs

mkdir "$(echo 'a')"

これらの$()メソッドは埋め込みコマンドを実行し、その$()内容をコマンドの標準出力に置き換えます。

おすすめ記事