gpt4 book ai didi

Bash for 带空格的循环

转载 作者:行者123 更新时间:2023-11-29 08:56:13 27 4
gpt4 key购买 nike

我想做这样的事情:

COMMANDS='"ls /" "df ~" "du -hs ~/Devel/"'
for i in $COMMANDS; do
echo $i
done

结果会是:

ls /
df ~
du -hs ~/Devel/

但我找不到空格的正确语法。

最佳答案

COMMANDS=("ls /" "df ~" "du -hs ~/Devel/")
for i in "${COMMANDS[@]}"; do
echo "$i"
done

这使用数组来存储命令。此功能在 kshzsh 中也可用,但在 sh 中不可用。

数组的行为类似于"$@" 参数数组。在 "${ARRAY_NAME[@]}" 上应用 for 循环(引号很重要)将为您连续提供每个项目。如果您省略引号,它们将全部混在一起并拆分为 IFS 环境变量中存在的分隔符 ('\t', '\n '' ' 默认情况下)。

关于Bash for 带空格的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32784068/

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