鍍金池/ 問(wèn)答/Linux  網(wǎng)絡(luò)安全  HTML/ shell A 中調(diào)用另一個(gè) shell B 腳本,腳本 B 怎么返回?cái)?shù)據(jù),A

shell A 中調(diào)用另一個(gè) shell B 腳本,腳本 B 怎么返回?cái)?shù)據(jù),A 怎么接收?

定義了一個(gè)腳本 B, 接收兩個(gè)參數(shù),大致邏輯:

if [true]; then
    echo "12"
    exit 0;
else
    echo "error"
    exit 0;
fi

exit 0;

現(xiàn)在在另一個(gè) shell 腳本 A 中調(diào)用這個(gè)腳本:

RESULT=./B "para1" "para2"

現(xiàn)在的問(wèn)題是 RESULT 沒有接收到 B 中 echo 返回的信息比如 “12” 或者 “error”,跑起來(lái)老是報(bào)錯(cuò)。
請(qǐng)問(wèn)這樣的腳本該怎么寫?是不是不該用 RESULT 去接收?那用什么方式獲取 B 中 echo 出的信息?或者 B 腳本中該怎么把信息返回回來(lái)?

回答
編輯回答
陌顏

錯(cuò)在一個(gè)細(xì)節(jié):RESULT./B之間需要空格。RESULT= ./B "para1" "para2"。 不然會(huì)被認(rèn)為是設(shè)置RESULT的值為./B然后執(zhí)行"para1"
同樣第一段代碼if [true]; thentrue需要和[]分開。 if [ true ]; then

2018年1月7日 02:03
編輯回答
厭遇
RESULT=`./B "para1" "para2"`

或者

RESULT=$(./B "para1" "para2")
2017年6月30日 06:06