为了账号安全,请及时绑定邮箱和手机立即绑定

Linux for循环

cd /root/test

for i in $(ls *.tar.gz *.gz)      

 do          

 tar -zxf $i  

   done

为什么(ls *.tar.gz*.gz)前面要加$,不加行不行

正在回答

2 回答

变量名是y,引用变量的值是$y

$()是特殊用法,是调用系统命令,和反引号的作用一样的。 y = $( ls *.tar.gz *.gz),是先执行ls命令,得到的结果赋值给变量y。

0 回复 有任何疑惑可以回复我~

这个是特定的写法吧,就是一个赋值的语句,比如 y = $( ls *.tar.gz *.gz); 之后 for i in $y;也是有效的

1 回复 有任何疑惑可以回复我~
#1

qq_爱上你_0 提问者

按你这么说,接着$y的值就会赋给i,但$y的值是什么
2017-05-13 回复 有任何疑惑可以回复我~
#2

qq_爱上你_0 提问者

按你这么说,接着$y的值就会赋给i,但$y的值是什么
2017-05-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Linux for循环

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信