0
我需要在bash腳本中獲得4個選項(每個選項都有一個簡短版本)。在bash腳本中Getopt解析錯誤(選項聲明錯誤)
這裏是我做過什麼:
OPTS=`getopt -l :author,icon,channel,message: -o :aicm: -- "[email protected]"` ||
exit 1
eval set -- "$OPTS"
while true; do
case "$1" in
-a|--author) echo "A:'$2'"; shift;;
-i|--icon) echo "I:'$2'"; shift 2;;
-m|--message) echo "M:'$2'"; shift 2;;
-c|--channel) echo "C:'$2'"; shift 2;;
--) shift; break;;
*) echo Error; exit 1;;
esac
done
這裏是我所得到的:
命令
docker run --rm -e SLACK_TOKEN slacker notify --channel foo
輸出
C:'--'
Error
當然,我想有這個輸出:
C:'foo'
所以'slacker'是您正在使用其代碼的命令,而且上面包括在內?你的代碼看起來很模糊,就像你使用'getopts',然後用'while'循環自己重新實現它。 – tripleee
爲了澄清,懶鬼是我正在構建的碼頭圖像名稱。它包含一個名爲notify的bash腳本,我從中提取上面的代碼。我應該簡化通話部分,以便更專注於我的問題。 – RaDyUm