Heredocで変数を設定して外部で使用する

Heredocで変数を設定して外部で使用する

区切り文書内でコマンドを実行すると、「count」変数を設定してタイムアウトを設定しようとしますが、区切り文書の外から「count」変数を取得できません。

どうすればいいですか?

  • 私のスクリプトはもっと複雑ですが、答えを得るのに十分だと思います。

    timeout 10 bash << EOC
       count=$(ls -l /tmp/ | wc -l)
    EOC
    
    echo "count: $count"
    

ベストアンサー1

あなたはできません。子シェルに割り当てられた変数は親シェルには影響しません。

代わりにこれを行う:

count=$(timeout 10 ls -l /tmp/ | wc -l)
echo "count: $count"

おすすめ記事