0
我試圖使用getopts的是這樣的:如何在bash腳本中使用getopts?
#!/bin/bash
while getopts "i" option
do
case "${option}"
in
i) INT=${OPTARG};;
esac
done
echo "$INT"
但它打印$ INT只有當我使用getopts "i:"
。如果我理解正確,optstring中的冒號表示相應標誌需要值。但是我想讓這個標誌可選。 任何人都可以解釋爲什麼腳本像這樣行事,我該如何解決它?
冒號的存在意味着需要選項參數。預計沒有結腸意味着沒有選擇權。 ['getopts'](http://www.gnu.org/software/bash/manual/bash.html#index-getopts)上的Bash手冊不支持可選參數。爲此,你需要GNU'getopt'(帶有許多不同的語義)。 –
@JonathanLeffler啊,非常感謝。我想我需要刪除我的問題,因爲它無法回答。 – kusayu
查看相關問題[在Bash shell腳本中使用'getopts'來獲取長命令行和短命令行選項](https://stackoverflow.com/questions/402377/using-getopts-in-bash-shell-script-to-get - 長和短的命令行選項)。它不是直接重複的,但包含有用的信息。 –