Linux shell 脚本欣赏--随机取处文件夹中的某个文件

王朝system·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

#自己买了一个数码相机,柯达7590(抵制日货!)。自己拍了一些照片。

#欣赏时,感觉自己还有点专业水准,拿来作桌面。

#这么多图片到底选那一个,放弃那一个呢?最后决定,都选,都用来左桌面,让系统每30分钟自动换一个。

# 利用系统子带的工具cron. 再加上自己编写的脚本,很容易实现。下面给出从文件夹中随机取出一副图片的脚本程序,

#!/bin/bash

#trim the charactor in head and tail

L_trim()

#该函数取掉变量rand_time左边所有的空格

{

tmp=${rand_time:0:1}

while [ $tmp = 0 ]

do

rand_time=${rand_time:1}

tmp=${rand_time:0:1}

done

}

R_trim()

#该函数取掉变量rand_time右边所有的空格

{

Len=${#rand_time}

let "sLen =Len -1"

tmp=${rand_time:sLen:1}

while [ $tmp = 0 ]

do

rand_time=${rand_time:0:$sLen}

Len=${#rand_time}

let "sLen =Len -1"

tmp=${rand_time:sLen:1}

done

}

#get current time as random

rand_time=`date '+%N'`

#trim the "0" from the var

#rand_time=${rand_time:0:6}

L_trim

R_trim

#get filecount of $1

fcount=`ls $1 | wc -l`

echo "fcount $fcount"

#get a random number between 1 and fcount

rand_num=$(($rand_time % $fcount ))

echo $rand_num

tmp=1

for file in $1/*.jpg

do

if [ $tmp -lt $rand_num ]

then

let "tmp=tmp+1"

continue

fi

#可以将随机取出的图片设为桌面

#qiv -Tx $HOME/.wallpaper.jpg

echo "file:$file"

break;

done

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航