gpt4 book ai didi

linux - 从shell脚本中的字符串中删除单引号

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:55 27 4
gpt4 key购买 nike

这是我的 shell 脚本-

if ! options=$(getopt -o : -l along:,blong:,clong: -- "$@")
then
# something went wrong, getopt will put out an error message for us
exit 1
fi

set -- $options

while [ $# -gt 0 ]
do
case $1 in
--along) echo "--along selected :: $2" ;;
--blong) echo "--blong selected :: $2" ;;
--clong) echo "--clong selected :: $2" ;;
esac
shift
done

当我运行脚本时,我得到以下输出-

./test.sh --along hi --blong hello --clong bye
--along selected :: 'hi'
--blong selected :: 'hello'
--clong selected :: 'bye'

问题是我不想用单引号('hi'、'hello'、'bye')显示参数。我应该怎么做才能去掉这些引号?

最佳答案

为getopt使用选项-u--unquoted,即

if ! options=$(getopt -u -o : -l along:,blong:,clong: -- "$@")

getopt 的联机帮助页对 -u 说:

Do not quote the output. Note that whitespace and special (shell-dependent) characters can cause havoc in this mode (like they do with other getopt(1) implementations).

关于linux - 从shell脚本中的字符串中删除单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761874/

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