私はスクリプトに初めて触れたので、これを理解することはできません。読めるものがあるのか、そうでないのか知りたいです。
答え1
具体的には、読みたい内容がある場合、標準入力にある場合、または入力の終わりに達した場合はtrueを返し、そうでない場合はfalseを返しますbash
。read -t0
if read -t0; then
echo "there's something to be read on stdin, or end-of-file is reached"
else
echo "there's nothing that may be read from stdin at the moment"
fi
読んでいる内容が行全体または文字全体ではない場合でもtrueを返すので、後続の操作はread
エスケープされていない行区切り文字を待って中断することができます。
stdinが非ブロックモードになっている場合、またはstdinを読み取れない場合はread -t0
常に返されますtrue
。