11
function readArgs() {
while getopts "i:o:p:s:l:m" OPTION; do
case "$OPTION" in
i)
input="$OPTARG"
;;
o)
output="$OPTARG"
;;
...
esac
done
}
readArgs
if [[ -z "$input" ]]; then
echo "Not set!"
fi
這總是給我Not set!
但如果我行註釋掉function readArgs() {
,}
和readArgs
,它的工作原理。爲什麼?爲什麼函數中的getopts失敗?
此外,
input="$OPTARG"
echo "$input"
;;
不起作用。
這僅僅是必要的,如果有多個調用的功能。 –
OP沒有描述函數的容器。我使用這些方法來編寫我在.bashrc中編寫的函數。 –
雖然這個答案沒有直接回答OP的問題,但它確實出現了爲什麼getopts不能在函數中工作,並且在調試我的代碼時非常有用(也用於我的.bashrc中的函數) – paulski