shell实用技巧1:变量套变量 - 把变量返回的值,作为变量的名称
1.赋值时使用eval
2.输出变量时变量前加\
3.给出了变量计算的一种方式
d0=/dev/raw/raw1
d1=/dev/raw/raw2
d2=/dev/raw/raw3
i=0
echo ${i} # 输出: 0
eval echo \${d${i}} # 输出: /dev/raw/raw1
eval v_d=\${d${i}} # 只能使用eval进行变量赋值
echo $v_d # 输出: /dev/raw/raw1
shell实用技巧2:批量变量赋值
# shell实用技巧2:批量变量赋值
# linux多个文件变量赋值,linux的shell数组变量,给环境变量赋多个值
# shell变量赋值:使用awk单个变量赋值
line="256 172 86 0 1 89"
v_dsk=`echo $line | awk '{print $5}'`
v_au=`echo $line | awk '{print $6}'`
echo "\${v_dsk}=${v_dsk} \${v_au}=${v_au}" # 输出: ${v_dsk}=1 ${v_au}=89
# shell变量赋值:使用read批量进行赋值 使用这种方法,代码会变更更简洁,也会更高效
line="256 172 86 0 1 89"
read v_file v_ext v_ext2 v_copy v_dsk v_au <<< $line
echo "\${v_file}=${v_file} \${v_ext}=${v_ext} \${v_ext2}=${v_ext2} \${v_copy}=${v_copy} \${v_dsk}=${v_dsk} \${v_au}=${v_au}"
# 输出: ${v_file}=256 ${v_ext}=172 ${v_ext2}=86 ${v_copy}=0 ${v_dsk}=1 ${v_au}=89
# shell变量赋值:使用数组变量,一次赋值给数组(注意赋值时有没有引号的区别)
line="256 172 86 0 1 89"
vb=($line)
echo "v0=${vb[0]} v1=${vb[1]} v2=${vb[2]} v3=${vb[3]} v4=${vb[4]} v5=${vb[5]}"
# 输出: v0=256 v1=172 v2=86 v3=0 v4=1 v5=89
vb=("$line")
echo "v0=${vb[0]} v1=${vb[1]} v2=${vb[2]} v3=${vb[3]} v4=${vb[4]} v5=${vb[5]}"
# 输出: v0=256 172 86 0 1 89 v1= v2= v3= v4= v5=
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




