我有一個名為 test.sh 的 bash 腳本:
#!/bin/bash
var1=hello
sh test2.sh $var1="/var/log"
我的 test2.sh 看起來像這樣:
#!/bin/bash
function jumpto
{
label=$1
cmd=$(sed -n "/$label:/{:a;n;p;ba};" $0 | grep -v ':$')
eval "$cmd"
exit
}
start=${1:-"start"}
jumpto $start
start:
echo "variable -- " $var1
由于我使用了jumpto功能,這不起作用。執行時,總是將$var1賦給jumpto函式中的$1變數。
有沒有不同的方法來做到這一點。?
uj5u.com熱心網友回復:
我們建議了解環境變數和export命令及其范圍。
嘗試修改您的 test.sh
#!/bin/bash
export var1=hello
sh test2.sh $var1="/var/log"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/420659.html
標籤:
上一篇:AnsibleBuiltinShell:如何獲得表格輸出而不是“\t”分隔符?
下一篇:缺少密鑰時如何使jq輸出逗號分隔
