[英]Shell Script Argument without value
我正在創建一個非常簡單的sh文件來執行某些操作,但我想傳遞一個沒有值的參數,例如:
./fuim -l
但我收到以下消息:
./fuim: option requires an argument -- l
如果我傳遞一個隨機值,比如./fuim -l 1
,它就可以完美地運行。 我怎樣才能做到這一點?
這是我到目前為止所擁有的:
while getopts e:f:l:h OPT
do
case "$OPT" in
h) print_help ;;
e) EXT=$OPTARG ;;
f) PROJECT_FOLDER=$OPTARG ;;
l) LIST_FILES=1 ;;
?) print_help ;;
esac
done
shift $((OPTIND-1))
if [ -z "$EXT" ] || [ -z "$PROJECT_FOLDER" ]; then
print_help
fi
使用getopts
,put :
在選項字符后表示它需要一個參數。 所以將l:
改為l
,如:
while getopts e:f:lh OPT
這使它成為一個布爾選項,無論是存在還是不存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.