Windowsでその共有への接続をマウントし、ユーザー名と呼ばれる新しいフォルダーにファイルタイプをコピーするファイルからIPアドレスとユーザー名を読み取るbashスクリプトを作成しようとすると、問題が発生します。Windows 共有が見つからない場合、*.ano という名前の何百ものフォルダーが作成されます。
助けてください
テキストファイル:
192.168.0.2 user1
192.168.0.3 user2
バッシュスクリプト:
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