2017-05-31 37 views
0
#!/bin/bash 
i=1 
cat days.txt | while read days 
do 
    echo $i $days 
    let i++ 
done 

我想改变,而循环进入到循环直到外壳LOOP读文件

#!/bin/bash 
i=1 
until conditions 
do 
    echo $i $days 
    let i++ 
done 

预期的结果

  1. 周一
  2. 周二
  3. 周三
  4. 布拉赫Blah Blah
+0

嗨,欢迎来到Stack Overflow!读你的问题,我不清楚你想要完成什么。请添加一段或两段描述您的问题和用例。你提供的代码示例在我看来也有点不完整。我需要更深入的指导,请回顾[我如何问一个好问题?](https://stackoverflow.com/help/how-to-ask) – Simon

+0

@Simon您的评论看起来很标准化(我看到它这种形式经常) - 是否有一个地方复制和粘贴这些评论? –

+0

@Simon我在Unix操作系统下运行until.sh并在同一目录下有days.txt – Craze

回答

0

while read可以更笨拙写成until ! read

i=1 
until ! read -r days; do 
    echo "$i $days" 
    i=$((i + 1)) 
done < file 

while command做一些事情,只要成功command退出,而until command做一些事情,直到command退出失败。 !用于否定read的退出代码。