我想做这样的事情:
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
这使用数组来存储命令。此功能也可用于ksh
, zsh
,但不在sh
.
数组的行为类似于"$@"
参数数组。应用一个for
循环播放"${ARRAY_NAME[@]}"
(引号很重要)将连续为您提供每一项。如果您省略引号,则所有内容都会被挤在一起并在您的分隔符上分开IFS
环境变量('\t'
, '\n'
and ' '
默认情况下)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)