尝试制作一个 bash 脚本时遇到问题,该脚本将从在 Windows 上挂载到该共享的连接的文件中读取 IP 地址和用户名,然后将任何文件类型复制到名为用户名的新文件夹中。目前它还不能正常工作,如果找不到 Windows 共享,它会创建数百个名为 *.ano 的文件夹。
请帮忙
文本文件:
192.168.0.2 user1
192.168.0.3 user2
bash脚本:
USER='/home/user/user.ip'
IPADDY=$(grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' $USER)
USERNAME=$(awk '{ print $NF }' $USER)
for i in $IPADDY $USERNAME
do
mkdir /home/user/Documents/$USERNAME
mount -t smbfs //$IPADDY/$USERNAME /home/user/$USERNAME
rsync -va /home/user/$USERNAME/*.ano /home/user/Documents/$USERNAME/*.ano
done
大家好,感谢您如此快速的回复,我已将代码更改如下,但仍然得到多个文件,我在这里做错了什么
USER='/home/user/user.ip'
IPADDY=$(grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' $USER)
USERNAME=$(awk '{ print $NF }' $USER)
while read IPADDY USERNAME; do
mkdir /home/user/Documents/$USERNAME
mount -t smbfs //$IPADDY/$USERNAME /home/user/$USERNAME
rsync -va /home/user/$USERNAME/*.ano /home/user/Documents/$USERNAME/
done < $USER