gpt4 book ai didi

bash - 将带有空格的字符串作为参数传递给 Bash 函数

转载 作者:行者123 更新时间:2023-12-04 06:42:56 27 4
gpt4 key购买 nike

给定以下字符串变量

VAR="foo         bar"

我需要将它传递给 bash 函数,并像往常一样通过 $1 访问它。 .到目前为止,我一直无法弄清楚如何做到这一点:
#!/bin/bash
function testfn(){
echo "in function: $1"
}
VAR="foo bar"
echo "desired output is:"
echo "$(testfn 'foo bar')"
echo "Now, what about a version with \$VAR?"
echo "Note, by the way, that the following doesn't do the right thing:"
echo $(testfn "foo bar") #prints: "in function: foo bar"

最佳答案

Bash 很聪明,双引号对匹配在 $( ... ) 的内部或外部结构体。

因此,echo "$(testfn "foo bar")"是有效的,并且您的结果 testfn函数将仅被视为 echo 的单个参数内部命令。

关于bash - 将带有空格的字符串作为参数传递给 Bash 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031007/

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