7

これが私がこれまでに持っているものです

DIR="/home/username/Pictures/Wallpapers"

while [ 1 -eq 1 ]
do
    PIC=$(ls $DIR/*.jpg | shuf -n1)
    PIC1="file://"$PIC

    gsettings set org.gnome.desktop.background picture-uri $PIC1
    sleep 30;
done

スクリプトは機能しますが、それを展開してjpgに加えてpngやgifなどの他のファイル拡張子を見つける方法がわかりません。

4

2 に答える 2

13

findを使ってみませんか?

find $DIR -name \*.jpg -o -name \*.png -o -name \*.gif -print
于 2012-05-01T20:34:00.160 に答える
4

bashを想定すると、最も単純な変更は次のようになります。

PIC=$(ls $DIR/*.{jpg,png,gif} | shuf -n1)

これが私のマシンのサンプルです

$ export DIR=Desktop
$ PIC=$(ls $DIR/*.{jpg,png,gif} | shuf -n1)
$ echo $PIC

Desktop/polar.png

代わりに、findを使用することをお勧めします。

于 2012-05-01T20:40:50.880 に答える