引数とstdinの違い
table:違い
渡し方 コマンドの後に明示的に記述 パイプやリダイレクトで動的に渡す
適用範囲 固定的なファイルや値 動的なデータストリーム
柔軟性 限定的 高い
適したケース データが静的で事前に分かっている場合 他のコマンドと組み合わせる場合
stdinは副作用という感じ
共通した一つのglobal変数みたいなのがあり、暗黙に参照してたりしてなかったりする
引数は、普通に関数の引数という感じ
例: 引数を使うもの
$ cat file.txt
file.txtは引数としてcatに渡される
例: stdinを使うもの
$ echo "hello" | cat
echoの出力がpipeを通じて、catの標準入力に渡される
例: 両方を受け取れるもの
grep
$ grep "World" file.txt
file.txtは引数
$ echo "Hello, World!" | grep "World"
pipeで渡されたstdinを処理