私はそのようなことをしたいです:
cat file.txt | ./myscript.sh
file.txt
http://google.com
http://amazon.com
...
myscript.shのデータを読み取るにはどうすればよいですか?
私はそのようなことをしたいです:
cat file.txt | ./myscript.sh
file.txt
http://google.com
http://amazon.com
...
myscript.shのデータを読み取るにはどうすればよいですか?
これは (1 行ずつ処理) で行うことができますwhile loop
。これは、この種の場合の通常の方法です。
#!/bin/bash
while read a; do
# something with "$a"
done
詳細については、http://mywiki.wooledge.org/BashFAQ/001を参照してください。
代わりに、ファイル全体を変数に丸呑みしたい場合は、これを試してください:
#!/bin/bash
var="$(cat)"
echo "$var"
また
#!/bin/bash
var="$(</dev/stdin)"
echo "$var"
read
次のように、パイプから受け入れるようにだますことができます。
echo "hello world" | { read test; echo test=$test; }
または、次のような関数を記述します。
read_from_pipe() { read "$@" <&0; }