1
我有shell腳本1 1.sh
。我有另一個shell腳本2.sh
,我需要使用第一個腳本的功能並將其存儲在第二個腳本中使用的變量中。從另一個腳本調用一個shell腳本,並將該腳本的輸出存儲在變量中
這些都不似乎工作:
a=$(sh 1.sh)
a=sh 1.sh
a=`sh 1.sh`
我有shell腳本1 1.sh
。我有另一個shell腳本2.sh
,我需要使用第一個腳本的功能並將其存儲在第二個腳本中使用的變量中。從另一個腳本調用一個shell腳本,並將該腳本的輸出存儲在變量中
這些都不似乎工作:
a=$(sh 1.sh)
a=sh 1.sh
a=`sh 1.sh`
第一個解決方案是正確的,嘗試例如:
echo 'echo "hello, world"' > echohello.sh
hello=$(sh echohello.sh)
echo $hello
也許你有一個錯誤1.sh
,或者是在不同的目錄?你可以通過運行./1.sh
直接調用它嗎?
第一個和第三個是正確的。請發佈證明問題的[mcve]。 –
當'1.sh'有一個你想要使用的函數時,用'source 1.sh'包含'1.sh'的代碼並調用該函數。你的代碼嘗試在var中分配'1.sh'腳本的輸出,所以請解釋你想如何在'2.sh'中使用'1.sh'。 –