#!/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