1

我编写了一个脚本来将新的用户帐户文件复制到新的用户位置。它通过读取用户名列表并将文件复制到该位置来工作。我不明白为什么我done < $USER最后需要。有人可以解释一下吗?

谢谢

USER=/home/example/new.txt
NEWUSER=$USER

LOC=/var/account/          

cd /home/example

while read NEWUSER
do
cp _newuser.txt $LOC/$NEWUSER
done < $USER
4

2 回答 2

2

遍历文件中的每一行/home/example/new.txt,这是变量的值USER

请看http://en.kioskea.net/faq/1757-how-to-read-a-file-line-by-line

<input redirection运算符(http://www.tldp.org/LDP/abs/html/io-redirection.html

您也可以 delete NEWUSER=$USER,因为我看不到NEWUSER除了while循环之外的任何用途。由于 ,while每次NEWUSER迭代都会被分配一个新值。

于 2013-05-13T17:53:23.873 回答
0

因为 read 从标准输入(stdin)读取输入。为了从文件中读取,您需要将其重定向到读取命令。

于 2013-05-13T17:53:48.610 回答