私は.sh
ファイルを持っています:a.sh
このスクリプトの最後の行には、次のものがあります。
rt = $(bash ...).
このRTを取得したいです。私は次のことをしようとします:
bash a.sh
またはecho $(bash a.sh)
、しかしそれは値を提示しませんrt
。
私は.sh
ファイルを持っています:a.sh
このスクリプトの最後の行には、次のものがあります。
rt = $(bash ...).
このRTを取得したいです。私は次のことをしようとします:
bash a.sh
またはecho $(bash a.sh)
、しかしそれは値を提示しませんrt
。
スクリプトecho rt
の最後に配置して、標準出力に出力します。
元のスクリプトを変更できない場合は、使用できます
source a.sh && echo ${rt}
すでに@mouvicielで述べたように、追加の安全性のために(そしてあなたのを上書きしないようにenv
)、もう1つのサブシェルで使用できます
bash
source a.sh && echo ${rt}
exit
または$(source a.sh && echo ${rt})
インタラクティブ セッションの同じコンテキストでスクリプトを実行するために、スクリプトをソースすることができます。
source a.sh && echo ${rt}
"." を付けてスクリプトを実行します。(例. ./a.sh
)。このようにして、新しいbashは起動されずrt
、呼び出し元の環境に変数が存在します。このようにして、他の変数を設定および/または変更できることに注意してください。これにより、問題が発生する可能性があります。