私のコンピュータから私のコンピュータから私のAndroid携帯電話に私の音楽をssh経由で送るスクリプトを書こうとしていますが、ここではコードの一部は次のとおりです。ファイルがリモートサーバ上に存在し、パスに空白があるかどうかを確認してください
while read SONG
do
echo $SONG
ssh -qi ~/.ssh/key [email protected]$ip [[ -f "/sdcard/Music/${SONG}" ]] && echo "File exists" || echo "File does not exist"
done < ~/.mpd/playlists/Blues.m3u
目標は歌が電話機にすでにあるかどうかを確認することであり、そうでない場合、それはあります場合、私はそれがよりも同じ相対パスである(それをscpします.m3uファイル)。構文エラー:
私はいつもSHだ「デイビス/失われた」予期せぬ演算子/オペランドを、私は私が を免れることはできないことをデービスの前にスペースがあるので、それは(最初の$ SONGはギアター・デイビス/失われていると思います私もこれを試してみました
ソウルマンBlue.mp3の/悲しいシェード)、同じ結果
while read SONG
do
echo $SONG
SONG="/sdcard/Music/$SONG"
echo $SONG
ssh -qi ~/.ssh/key [email protected]$1 [[ -f "$SONG" ]] && echo "File exists" || echo "File does not exist"
done < ~/.mpd/playlists/Blues.m3u
アイデアを歓迎します!!!マニュアルページの概要で説明したように
ありがとうございました! 実際に ssh -qi〜/ .ssh /キールート@ $ 1 "[[-f \" $ SONG \ "]]" && "ファイルが存在します" ||エコー "ファイルは存在しません" も正しく、サーバではなくクライアントでエコーします。 しかし、sshはループを止めているようですので、私はBlues.m3uの最初の行しか持っていません。 –
これはその答えです:http://stackoverflow.com/questions/9393038/ssh-breaks-out-of-while-loopinバッシュ –