gpt4 book ai didi

shell - 如何使用包含空格的参数处理shell getopts

转载 作者:行者123 更新时间:2023-12-03 21:05:55 29 4
gpt4 key购买 nike

我正在寻找一种方法来处理包含必须解析的空格的参数
通过 shell getopts 命令。

while getopts ":a:i:o:e:v:u:" arg
do
echo "ARG is: $arg" >> /tmp/submit.log
case "$arg" in
a) arg1="$OPTARG" ;;
i) arg2="$OPTARG" ;;
o) arg3="$OPTARG" ;;
...
u) argn="$OPTARG" ;;
-) break ;;
\?) ;;
*) echo "unhandled option $arg" >> /tmp/submit.log ;;
?) echo $usage_string
exit 1 ;;
esac
done

现在,如果 -u 有像“STRING WITH WHITE SPACE”这样的参数
不仅仅是字符串的第一部分被触发并且 while 循环不会结束。

非常感谢。

最佳答案

年轻球员的陷阱(即我!)

当心这样的一行:

main $@

你真正需要的是:
main "$@"

否则 getopts将把你的选择切成小块

http://www.unix.com/shell-programming-scripting/70630-getopts-list-argument.html

关于shell - 如何使用包含空格的参数处理shell getopts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018586/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com