删除bash变量中的最后一个单词
发布时间:2020-12-15 22:19:29 所属栏目:安全 来源:网络整理
导读:我有类似的东西: ...args=$*echo $args... 结果是 unusable1 unusable2 useful useful ... useful unusable3 我需要删除所有“无法使用”的args.他们总是在第一,第二和最后的位置. 经过一番调查后,我找到了${*:3} bash语法.它有助于删除前两个. ...args=${
我有类似的东西:
... args=$* echo $args ... 结果是 unusable1 unusable2 useful useful ... useful unusable3 我需要删除所有“无法使用”的args.他们总是在第一,第二和最后的位置. ... args=${*:3} echo $args ... 结果是 useful useful ... useful unusable3 但我找不到如何使用相同的语法删除最后一个单词. 解决方法
args = ${*:3}展平您的参数列表.你不想那样做.请考虑遵循下面给出的模式:
# this next line sets "$@" for testing purposes; you don't need it in real life set -- "first argument" "second argument" "third argument" "fourth argument" "fifth argument" # trim the first two args=( "${@:2}" ) # trim the last one args=( "${args[@]:1:$(( ${#args[@]} - 2 ))}" ) # demonstrate the output content printf '<%s>n' "${args[@]}" 运行以上输出产生以下输出: <third argument> <fourth argument> ……并且,通过这样做,证明它正确地将参数保持在一起,即使它们包含空格或通配符. 对于shell完成脚本,您可能还会考虑: printf '%q ' "${args[@]}" …引用内容的方式是由shell评估. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读