我编写了一个脚本来将新的用户帐户文件复制到新的用户位置。它通过读取用户名列表并将文件复制到该位置来工作。我不明白为什么我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
遍历文件中的每一行/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
迭代都会被分配一个新值。
因为 read 从标准输入(stdin)读取输入。为了从文件中读取,您需要将其重定向到读取命令。