Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当涉及带空格的变量时,有没有办法使bash循环正常工作?_Bash_Macos_Loops_Unix_Homebrew - Fatal编程技术网

当涉及带空格的变量时,有没有办法使bash循环正常工作?

当涉及带空格的变量时,有没有办法使bash循环正常工作?,bash,macos,loops,unix,homebrew,Bash,Macos,Loops,Unix,Homebrew,提前感谢你的帮助 我正在编写一段代码,用于在我的Mac电脑上自动设置自制软件,这段代码有问题。 以下是我目前拥有的代码: #!/usr/bin/env bash brew=" app1 test app2 app3 " for i in $brew; do echo brew install $i done 我的预期输出是: brew install app1 test brew install app2 brew install app3 brew inst

提前感谢你的帮助

我正在编写一段代码,用于在我的Mac电脑上自动设置自制软件,这段代码有问题。 以下是我目前拥有的代码:

#!/usr/bin/env bash

brew="
app1 test
app2
app3
"

for i in $brew; do
    echo brew install $i
done
我的预期输出是:

brew install app1 test
brew install app2
brew install app3
brew install app1
brew install test
brew install app2
brew install app3
但是,脚本的实际输出如下所示:

brew install app1 test
brew install app2
brew install app3
brew install app1
brew install test
brew install app2
brew install app3

我尝试在循环中引用“I”和“$brew”命令,但没有结果。如果任何人有任何潜在的解决方案,请分享!谢谢

您需要使用数组

如果需要包含空格的数组元素,请引用以下元素:

brew=("app1 test" app2 app3)
在数组元素上循环时,还要使用引号保留其中的空格:

for i in "${brew[@]}"; do
    echo brew install $i
done
另见: