這裏有一個bash腳本播放所有的音頻,它擊:在當前目錄
- 得到的所有文件在當前目錄下,然後
- 得到其中的所有音頻文件(允許文件名有空格)
- 將列表發送到
audacious -p
- 應播放列表。
第三步是腳本失敗的地方。下面是該腳本:
#!/bin/bash
find $1 -name '* *' | while read filename; do
Type=`file -i "$filename" -F "::" | sed 's/.*:: //' | sed 's/\/.*$//'`
if [ $Type=audio ]; then
List="$List '$filename'"
fi
done
audacious2 -p $List &
因此問題是:如何轉換
file name 1
file name 2
file name 3
到
'file name 1' 'file name 2' 'file name 3'
在bash?
你會想要在* audacious2 -p ...命令中注意*「參數列表太長」*錯誤,這會在你嘗試加載大量文件時發生。使用'audacious2 -E $ filename'將文件附加到當前播放列表中或者從文件列表中創建一個臨時播放列表可能會更好。 –