请find我的脚本和输出
#!/bin/bash verify=("Tom Dick Harry" "Ricky" "Deep Rising") function verifyServices() { param=("${!1}") for i in ${param[@]} do echo $i done } verifyServices verify[@]
输出: –
汤姆
迪克
- 想要replacelinux文件中的2个string之间的特定字
- 在Bash中对方括号感到困惑
- 如何获得“tail -f”的“即时”输出作为input?
- Bash脚本改变工作目录到它所在的目录
- 如何在提供命令行参数时忽略目录和某些模式
掠夺
瑞奇
深
升起
预期产出: –
汤姆迪克哈里
瑞奇
深度崛起
为什么? 我的数组声明是错误的?
在函数里面使用引号:
function verifyServices() { param=("${!1}") for i in "${param[@]}"; do echo "$i" done } verifyServices verify[@] Tom Dick Harry Ricky Deep Rising
你的代码中的主要问题是这一行:
for i in ${param[@]}
由于循环空间正在考虑他们作为单独的论点。
它应该是:
for i in "${param[@]}"