0
我有兩個腳本可以互相調用。我需要修改兩個給定的變量。它不起作用。在bash中如何從管道函數內修改外部變量?
A.sh:
#! /bin/sh
funcA() {
echo "var B in funcA (1) $__varB"
__varB="xxx"
echo "var B in funcA (2) $__varB"
}
. B.sh
B.sh:
! /bin/sh
__varB="asdf"
funcA | tee -a out.txt 2>&1 #if no pipe then it works
echo "var B in B.sh $__varB"
執行
./A.sh
var B in funcA (1) asdf
var B in funcA (2) xxx
var B in B.sh asdf
如果BI不用管FuncA的進入發球那麼它將按預期工作和__varB被修改。我的問題是,在真實情況下,我無法修改B.sh.
在A.sh中可以做什麼,以便修改__varB?
然後我註定了:)謝謝你的幫助。 – Barth 2013-04-30 09:21:10