2

私は.shファイルを持っています:a.sh

このスクリプトの最後の行には、次のものがあります。

rt = $(bash ...).

このRTを取得したいです。私は次のことをしようとします:

bash a.shまたはecho $(bash a.sh)、しかしそれは値を提示しませんrt

4

3 に答える 3

3

スクリプトecho rtの最後に配置して、標準出力に出力します。

元のスクリプトを変更できない場合は、使用できます

source a.sh && echo ${rt}

すでに@mouvicielで述べたように、追加の安全性のために(そしてあなたのを上書きしないようにenv)、もう1つのサブシェルで使用できます

bash
source a.sh && echo ${rt}
exit

または$(source a.sh && echo ${rt})

于 2013-07-08T09:16:57.290 に答える
2

インタラクティブ セッションの同じコンテキストでスクリプトを実行するために、スクリプトをソースすることができます。

source a.sh && echo ${rt}
于 2013-07-08T09:22:23.190 に答える
1

"." を付けてスクリプトを実行します。(例. ./a.sh)。このようにして、新しいは起動されずrt、呼び出し元の環境に変数が存在します。このようにして、他の変数を設定および/または変更できることに注意してください。これにより、問題が発生する可能性があります。

于 2013-07-08T09:23:15.687 に答える