サブシェルに入らずに多数の行を解析する必要があります
cat << EOF | while read -r cmd
sleep 100
sleep 110
sleep 120
EOF
do
echo $cmd
done
結果は次のとおりです。
sleep 100
sleep 110
sleep 120
それは機能していますが、問題はサブシェルの外側で結果が必要であることです(後で結果が必要になるため)、whileの代わりにforを試しましたが、行ではなく単語を解析しません:
for cmd in `cat << EOF
sleep 100
sleep 110
sleep 120
EOF`
do
echo $cmd
done
結果は次のとおりです。
sleep
100
sleep
110
sleep
120
それで、それを行う方法はありますか?