脚本目的是想文件中只要有一行log包含TEST就跳过循环,结果发现将标志位skip赋值位置放到两个while里面无法生效:
skip=0;
while [ $skip = 0 ]
do
echo "$skip";
grep "TEST" logcat.txt | while read line
do
echo $line;
skip=1;
done
done
但是,在下面的情况下是可以的:
skip=0;
while [ $skip = 0 ]
do
echo "$skip";
grep "TEST" logcat.txt | while read line
do
echo $line;
done
skip=1;
done
这是什么情况?有没有办法令它可以在我想要的情况下也能顺利赋值?(除了设置全局变量)
谢谢
求救!shell脚本while中赋值无效
答案:2 悬赏:30 手机版
解决时间 2021-02-08 01:25
- 提问者网友:十年饮冰
- 2021-02-07 05:52
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-02-07 07:25
改用for循环就可以了:
for line in $(grep "TEST" logcat.txt)
for line in $(grep "TEST" logcat.txt)
全部回答
- 1楼网友:蕴藏春秋
- 2021-02-07 08:01
第一行申明shell的时候sh改为bash就好了。
( ) 这种赋值方法在sh里不支持。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯