请问 随机打开图片的脚本如何写?
发表于 : 2011-02-16 4:36
如题,想用eog每次随机打开某目录下的图片,虽然eog菜单中有此功能,但很想知道具体命令是什么,对于高手应该很简单吧,试了很久都没成功,期待高手经过!(比如 /home/kdelove/图片 目录下。)
代码: 全选
# random wallpaper code
if [ "$option" = random ]; then
# Lets make one thing clear...
wallpaperdir="$wallpaper"
if [ -z "$wallpaperdir" ]; then
message "No random wallpaper directory specified."
exit 1
fi
if [ -d "$wallpaperdir" ]; then
number_of_wallpapers=`ls "$wallpaperdir"|wc -l`
if find_it random_number; then
randomnumber=`random_number`
# some shells don't support $RANDOM
elif [ -z "$RANDOM" ]; then
randomnumber=`(echo $$ ;time ps; w ; date )2>&1 | cksum | cut -f1 -d' '`
else
randomnumber="$RANDOM"
fi
wallpapernumber=`expr $randomnumber % $number_of_wallpapers + 1`
#remember previous wallpaper
if [ ! "$remember" = false ]; then
remembercommand
fi
remember=false
#set -x
wallpaper="$wallpaperdir/`ls \"$wallpaperdir\"|sed -n ${wallpapernumber}p`"
option=$option2 # have to choose something...
else
message "Invalid random wallpaper directory specified."
exit 1
fi
fi
bigsun 写了:/usr/bin/fbsetbg中的代码:代码: 全选
# random wallpaper code if [ "$option" = random ]; then # Lets make one thing clear... wallpaperdir="$wallpaper" if [ -z "$wallpaperdir" ]; then message "No random wallpaper directory specified." exit 1 fi if [ -d "$wallpaperdir" ]; then number_of_wallpapers=`ls "$wallpaperdir"|wc -l` if find_it random_number; then randomnumber=`random_number` # some shells don't support $RANDOM elif [ -z "$RANDOM" ]; then randomnumber=`(echo $$ ;time ps; w ; date )2>&1 | cksum | cut -f1 -d' '` else randomnumber="$RANDOM" fi wallpapernumber=`expr $randomnumber % $number_of_wallpapers + 1` #remember previous wallpaper if [ ! "$remember" = false ]; then remembercommand fi remember=false #set -x wallpaper="$wallpaperdir/`ls \"$wallpaperdir\"|sed -n ${wallpapernumber}p`" option=$option2 # have to choose something... else message "Invalid random wallpaper directory specified." exit 1 fi fi
fnan 写了:1 #如果图片名都是000.jpg格式:
2
3 #!/bin/bash
4
5 v_picture_count=0;
6
7 for i in ~/Pictures/share/*;do #假设~/Pictures/share/里全是图片。
8 ((v_picture_count++)); #统计图片数。
9 a_picture_name[$v_picture_count]=$i; #记录图片名。
10 if [[ $v_picture_count -gt 999 ]];then #最多一千(000.jpg至999.jpg)图片。
11 break;
12 fi
13 done
14
15 v_random=$(($RANDOM%$v_picture_count+1)); #产生随机数。
16 v_number=${a_picture_name[$v_random]}; #获取图片名。
17 v_number=${v_number##*/};
18 v_number=${v_number%%.*};
19 v_number=${v_number##*0};
20 v_number=${v_number:-0};
21 echo 幸运数字是: $v_number; #显示相关数字。
22 sleep 3;
23 eog -f ${a_picture_name[$v_random]}; #显示图片。
~
~
~
~
"eograndom.sh" 23L, 696C 1,1 All