実際に渡されるコマンドライン引数(例:"some.text")はどこにありますか?

実際に渡されるコマンドライン引数(例:

私が知る限り、コマンドに渡された引数はSTDINストリームに渡されます。

だからこれ:

cut -d. -f2 'some.text'

正確には次のようになります。

echo 'some.text' | cut -d. -f2

STDINに送信するときsome.text。最初のケースではパラメータを介し、2番目のケースではパイプを介して。

some.textSTDINでない場合、最初のサンプルのパラメータはどこに行きますか?

ベストアンサー1

いいえ、コマンドラインを介して渡された引数はSTDINに自動的に渡されませんが、必要に応じて解釈できる別の変数としてプログラムに提供されます。これらの変数は通常argcとargvと呼ばれます。

多くのUnixツール(cut、head、tail、catなど)は、STDINまたはコマンドラインのファイルを介して入力を受け取ることができます。

したがって、echo 'some.text' | cut -d. -f2効果は次のようになります。

echo 'some.text' > temporary_file
cut -d. -f2 temporary_file
rm temporary_file

おすすめ記事