随机壁纸

#!/bin/bash
wallpaper_path=$HOME/images/wallpaper
list=(`ls -w1 $wallpaper_path`)
num=${#list[*]}
use=$(($RANDOM%$num))
feh --bg-scale $wallpaper_path/${list[$use]}

壁纸目录内的文件名作为数组的值,$RANDOM对数组数目求模.

对数组的赋值,可以这样

list=()
cd your_wallpaper_path
for i in *.jpg *.png; do
		[[ -f $i ]] && list+=("$i")
	done

 

也可以直接一行代码

find ~/your_wallpaper_path -type f \( -name '*.jpg' -o -name '*.png' \) -print0 |
		shuf -n1 -z | xargs -0 feh --bg-scale

 

 

你可能感兴趣的:(随机壁纸)