我有一個具有多個輸入文件的腳本,通常這些是默認存儲在標準位置並由腳本調用。bash命令行參數替換變量的默認值
但是,有時需要使用更改的輸入來運行它。
在腳本中,我現在說3個變量$ A $ B和$ C,現在我想用非默認$ B運行它,明天我可能想用非默認$ A和$ B運行它。
我在如何解析命令行參數周圍一看: How do I parse command line arguments in Bash?
但我不知道該如何處理有一些組由命令行aruguments一些的時間呢?
我沒有足夠的代表來回答我的問題,但是我有一個解決辦法:
https://stackoverflow.com/a/4610469/2339623
#!/bin/bash
a=input1
b=input2
c=input3
while getopts "a:b:c:" flag
do
case $flag in
a) a=$OPTARG;;
b) b=$OPTARG;;
c) c=$OPTARG;;
esac
done
道歉,我顯然沒有那樣徹底,因爲我以爲搜索...
您可以使用'getopts'來達到此目的。有許多教程,像http://aplawrence.com/Unix/getopts.html可以用於一開始。 – fedorqui 2013-05-01 14:13:14
謝謝,我在關聯的問題上看到了這一點。 我想知道是否有一些標準的方法來讓命令參數覆蓋變量。例如,當在python中定義函數時,可以設置一個默認值。 我可以看到,如果檢查,我可以用命令行參數替換默認值,但不確定是否有一個標準的方式做到這一點? – Lanrest 2013-05-01 14:48:28