3
我完全不熟悉Linux中的「編程」,並且我懷疑在運行bash文件時是否可以包含變量的定義。在「bash XXX.sh」命令中運行一個包含變量的bash
我的bash文件需要變量才能從一個或另一個路徑走,所以我希望能夠在運行腳本時包含它。
事情是這樣的:
bash MYFILE.sh -VARIABLE
所以-variable將在腳本中使用。
謝謝!
我完全不熟悉Linux中的「編程」,並且我懷疑在運行bash文件時是否可以包含變量的定義。在「bash XXX.sh」命令中運行一個包含變量的bash
我的bash文件需要變量才能從一個或另一個路徑走,所以我希望能夠在運行腳本時包含它。
事情是這樣的:
bash MYFILE.sh -VARIABLE
所以-variable將在腳本中使用。
謝謝!
您可以利用shell參數擴展來順利讀取父進程環境中的變量,如果這是您想實現的目標。
請看下面的腳本命名爲test.sh
:
#!/bin/bash
VARIABLE=${VARIABLE:="default value"}
echo $VARIABLE
如果用線啓動
$ ./test.sh
它輸出
default value
但是,如果你調用test.sh
與線
$ VARIABLE="custom Value" ./test.sh
它輸出
custom value
但要確保變量賦值是在該行的開頭。否則它會作爲命令行參數傳遞給test.sh
。
如果參數是設置或者爲空,字的膨脹被分配給參數:
參數擴展
${parameter:=word}
的使用形式在bash的參考手冊中描述。然後用參數的值代替。這種方式可能不會分配位置參數和特殊參數。