在 shell 脚本中,我有一个变量列表,我已将其排序为 $a、$b、$c 等。我想打印这些变量而不必列出所有变量。我目前的代码如下:
a=1
b=2
c=3
d=4
e=5
f=6
g=7
for x in $a$b$c$d$e$f$g
do
echo "$x"
done
我可以将 $a$b$c$d$e$f$g 缩短为从 $a 到 $g 的内容吗?
在 shell 脚本中,我有一个变量列表,我已将其排序为 $a、$b、$c 等。我想打印这些变量而不必列出所有变量。我目前的代码如下:
a=1
b=2
c=3
d=4
e=5
f=6
g=7
for x in $a$b$c$d$e$f$g
do
echo "$x"
done
我可以将 $a$b$c$d$e$f$g 缩短为从 $a 到 $g 的内容吗?
使用“邪恶”
eval
:请注意,如果您的变量应包含空格字符,我使用了正确输出所需的转义引号。
或者使用第一个答案的更正 for 循环:
或者在脚本中使用数组。这是一种不同的语法,但如果您同时需要所有值,则更容易处理。这是一个小例子:
请注意,最后两个
printf
语句不以换行符结尾。