用循环读取bash中的2个文件

时间:2016-12-17 14:05:38

标签: bash loops unix

我想在userlist.txt中创建echo用户名,如果用户名在chk.txt内,则检查主循环,并在继续主循环之前暂停60秒

filename1="/home/user/userlist.txt"
while read -r  file1
do
    filename2 = "/home/user/chk.txt"
    while read -r file2
    do
      text2 = $file2
      if $file2 == "username"
         pause 60
    done < "filename2"


    text="$file1"
    txt=($file1)
    name=${txt[0]}
    echo $name
    sleep 10

done < "$filename1"
抱歉非常糟糕的解释

1 个答案:

答案 0 :(得分:1)

您有一些基本的语法错误。

分配变量时,=周围不能有空格。所以它应该是:

filename2=/home/user/chk.txt
text2=$file2

if中,您错过了执行测试的[命令以及thenfi关键字。

if [ "$file2" = "username" ]
then
    sleep 60
fi

没有pause命令,它是sleep(你可以在后面的脚本中找到它。)

但是如果你只是想检查一个单词是否在文件中,你不需要循环,你可以使用grep命令。

if grep -q username $file2
then
    sleep 60
fi