Bash 使用另一个变量打印变量
我的脚本设置如下,我想使用循环打印开关名称Bash 使用另一个变量打印变量,bash,echo,Bash,Echo,我的脚本设置如下,我想使用循环打印开关名称 swn1="something" swn2="somethingelse" for (( i=1; i<="$ii"; i++ )) do echo "$swn$i " done 我搜索了又搜索,但运气不好,有人能帮我如何使用for loop打印swn吗?你不能这样做。swn1是一个令牌,swn2是另一个令牌。看起来您想要一个数组,如果您想要bash脚本中的数组,您可以将值作为文件中的
swn1="something"
swn2="somethingelse"
for (( i=1; i<="$ii"; i++ ))
do
echo "$swn$i "
done
我搜索了又搜索,但运气不好,有人能帮我如何使用for loop打印swn吗?你不能这样做。swn1是一个令牌,swn2是另一个令牌。看起来您想要一个数组,如果您想要bash脚本中的数组,您可以将值作为文件中的单独行进行处理,或者切换到使用Perl
单独的行:
echo "something" > swnfile;
echo "somethingelse" >> swnfile;
cat file | while read line; do
echo "$line";
done
你不能这样做。swn1是一个令牌,swn2是另一个令牌。看起来您想要一个数组,如果您想要bash脚本中的数组,您可以将值作为文件中的单独行进行处理,或者切换到使用Perl
单独的行:
echo "something" > swnfile;
echo "somethingelse" >> swnfile;
cat file | while read line; do
echo "$line";
done
解决这个问题的方法是变量间接寻址
swn1="something"
swn2="somethingelse"
for (( i=1; i<="$ii"; i++ ))
do
var="swn$i"
echo "${!var}"
done
虽然通常可以用数组解决问题,但使用另一个数组打印变量的方法是通过它
如bash手册中所述:
如果参数的第一个字符是感叹号!,A.
引入了变量间接层次。Bash使用
由参数的其余部分组成的变量,作为
变量然后展开此变量,并在
替换的其余部分,而不是参数本身的值。
这就是所谓的间接扩张。例外情况是
${!prefix}和${!name[@]}的扩展。这个
感叹号必须紧跟在左大括号之后,以便
引入间接性
swn1="something"
swn2="somethingelse"
for (( i=1; i<="$ii"; i++ ))
do
var="swn$i"
echo "${!var}"
done
解决这个问题的方法是变量间接寻址
swn1="something"
swn2="somethingelse"
for (( i=1; i<="$ii"; i++ ))
do
var="swn$i"
echo "${!var}"
done
虽然通常可以用数组解决问题,但使用另一个数组打印变量的方法是通过它
如bash手册中所述:
如果参数的第一个字符是感叹号!,A.
引入了变量间接层次。Bash使用
由参数的其余部分组成的变量,作为
变量然后展开此变量,并在
替换的其余部分,而不是参数本身的值。
这就是所谓的间接扩张。例外情况是
${!prefix}和${!name[@]}的扩展。这个
感叹号必须紧跟在左大括号之后,以便
引入间接性
swn1="something"
swn2="somethingelse"
for (( i=1; i<="$ii"; i++ ))
do
var="swn$i"
echo "${!var}"
done
听起来你想要一个数组
swn=("something" "something else")
for i in "${swn[@]}"
do
echo $i
done
听起来你想要一个数组
swn=("something" "something else")
for i in "${swn[@]}"
do
echo $i
done
请改进代码的格式。好的,我会的,但是你能帮我吗!!请改进代码的格式。好的,我会的,但是你能帮我吗!!Tnx konsolebox,我应该首先使用数组,我让它像swn[1]=something swn[2]=somethingelse ii=2那样工作,因为i=1;iTnx konsolebox,我应该首先使用数组,我让它像swn[1]=somethingswn[2]=somethingelseii=2那样工作,因为i=1;我