2016-05-28 8 views
0

私は怠け者です、私は私の携帯電話にファイルを転送する簡単なbashスクリプトを作成しようとしてきました。しかし、次のスクリプトを実行すると、「無効なファイル名」が表示され続けます無効なファイル名はbluetooth転送のbashスクリプト

for f in *.mp3 
do 
    bluetooth-sendto --device=<ADDRESS> ${f} 
done 

誰でも正しい方向に私を指摘できますか? :)

+1

「$ f' - > '" $ f "'は、単語の分割とグロブを防止します。 – andlrc

+0

それはそれを解決しました!ありがとうございました!! :) – Wboy

答えて

1

ファイルの1つにスペースが正しく含まれています。 パラメータの拡張を引用符で囲まないと、単語の分割とグロブが発生します。経験則として、あなたは常に引用する必要があります

for f in *.mp3; do 
    [ -e "$f" ] || continue 
    bluetooth-sendto --device=<ADDRESS> "$f" 
done 

[ -e "$f" ] || continueの理由は、どのファイルが見つからない場合リテラル*.mp3fになるということです。

関連する問題