LoginSignup
17
16

More than 5 years have passed since last update.

標準入力から Bash script を実行する場合に引数を渡す方法

Last updated at Posted at 2013-08-05

※正解はコメントの中にありますので、そちらもご確認ください。

Bash に標準入力からスクリプトを読ませた場合に引数を渡す方法

何も考えずに実行すると

$ echo 'echo $1; echo $2' | bash hoge fuga
bash: hoge: No such file or directory

と、「hoge」を開こうとして失敗する。なるほど、こんな場合は普通「-」だよねぇと知ったかぶりで実行すると

$ echo 'echo $1; echo $2' | bash - hoge fuga
bash: hoge: No such file or directory

ぇぇぇ!!
そうかぁ、これでもダメなのかぁ。
正解は /dev/stdin でした。

$ echo 'echo $1; echo $2' | bash /dev/stdin hoge fuga
hoge
fuga

以上 github から curl でそのまま bash に渡そうとしてハマった記録でした。

17
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16