0
#/bin/bash
ls |sort -R |tail -$N |while read file; do
mpg123 "$file"
sleep 3
done
任何想法爲什麼它只能播放10首mp3並退出? 有數以百計的MP3在同一目錄下這個文件(playmusic.sh)mpg123只播放10首歌曲,然後退出
感謝
#/bin/bash
ls |sort -R |tail -$N |while read file; do
mpg123 "$file"
sleep 3
done
任何想法爲什麼它只能播放10首mp3並退出? 有數以百計的MP3在同一目錄下這個文件(playmusic.sh)mpg123只播放10首歌曲,然後退出
感謝
正如馬克乙說的發生是由於變量N未設置導致tail
默認爲它的默認問題(顯然,如果N實際設置爲10,也可能發生。)
這裏的根本問題是你不明白這段代碼實際上做了什麼。我懷疑你自己實際上沒有寫這個代碼。即使它是一個bash腳本,它也期望一個變量N被設置。這是一個bash腳本高度非正統的,你通常會使用
$1
,而不是$N
,或者更好的是
${1:?}
這將立即顯示錯誤並退出,如果你忘了在傳遞命令行參數。
也許'$ N'是10? –
所以我可以完全忽略$ N? – phpmydev
10行是頭部和尾部的默認輸出計數。如果$ N沒有被定義,那麼這段代碼就會成爲'tail -',告訴tail從stdin中讀取,這將是'sort'的輸出....並且最終只有10行(文件名)正在播放 –