gpt4 book ai didi

bash - 重建 $@ 并在 Bash 中保留正确的单词拆分

转载 作者:行者123 更新时间:2023-11-29 09:28:55 24 4
gpt4 key购买 nike

我有一个 bash 函数,它将所有参数传递给另一个函数 b,它在过去运行良好。

a () {
b "$@"
}

a -input /input -output "with blanks"

现在我想修改一些参数并将更新后的参数传递给b

我正在考虑将 $@ 的副本重建为变量 ARGV。我曾尝试使用“、”,甚至是制表符来保留字段。但都失败了。

你有什么好的想法吗?

$@ 的数据类型是什么?为什么它能正确捕获字段?

引用

使用'

  ARGV=""

while [ $# -ne 0 ] ; do
case "$1" in
-*)
ARGV="$ARGV $1 '$2'"
shift; shift; continue;;
esac
done

使用“

  ARGV="$ARGV $1 \"$2\""

使用标签

  IFS=$'\t'
ARGV="$ARGV $1 "$'\t'"$2"$'\t'

最佳答案

例如,您可以将参数放入数组

X=("$@")

随心所欲地折磨它。并恢复回位置参数

set -- "${X[@]}"

或者传递到别处

./elsewhere "${X[@]}"
./elsewhere "$@"

关于bash - 重建 $@ 并在 Bash 中保留正确的单词拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8398101/

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