先週、これを機能させようとしてきましたが、なぜこれが機能しないのかわかりません。ターミナルに直接入力すると結果がまちまちですが、.sh から実行すると構文エラー メッセージが表示され続けます。ubuntu 11.10を使用
マウント コマンドの一部が次の行にプッシュされ、適切に完了できないようです。なぜこれが起こっているのか、2 行目に移動しないようにする方法がわかりません。
以下のmount-drives.shから読み取られるmounts.txtに次のように定義されたいくつかの行があります
sudo を使用して実行するように呼び出したので、権限の問題ではありません。
ご覧いただきありがとうございます。追加情報が必要な場合はお知らせください。
mounts.txt
mountname,//server/share$,username,password,
mount-drives.sh ---オリジナル、以下に更新
#!/bin/bash
while read LINE;
do
# split lines up using , to separate variables
name=$(echo $LINE | cut -d ',' -f 1)
path=$(echo $LINE | cut -d ',' -f 2)
user=$(echo $LINE | cut -d ',' -f 3)
pass=$(echo $LINE | cut -d ',' -f 4)
echo $name
echo $path
echo $user
echo $pass
location="/mnt/test/$name/"
if [ ! -d $location ]
then
mkdir $location
fi
otherstuff="-o rw,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,username=$user,password=$pass"
mount -t cifs $otherstuff $path $location
done < "/path/to/mounts.txt";
mount-drives.sh ---更新
#!/bin/bash
while read LINE
do
name=$(echo $LINE | cut -d ',' -f 1)
path=$(echo $LINE | cut -d ',' -f 2)
user=$(echo $LINE | cut -d ',' -f 3)
pass=$(echo $LINE | cut -d ',' -f 4)
empty=$(echo $LINE | cut -d ',' -f 5)
location="/mount/test/$name/"
if [ ! -d $location ]
then
mkdir $location
fi
mounting="mount -t cifs $path $location -o username=$user,password=$pass,rw,uid=1000,gid=1000,file_mode=0777,dir_mode=0777"
$mounting
echo $mounting >> test.txt
done < "/var/www/MediaCenter/mounts.txt"