LinuxでGNOMEの壁紙をかってに変えるやつ
#!/bin/bash WALL_LIST="${HOME}/.rndwall" KEY_FILE="/desktop/gnome/background/picture_filename" KEY_OPTION="/desktop/gnome/background/picture_options" case $1 in -a|--add) OPTION="zoom" if [ "$3" = "-t" ]; then if [ $4 == "wallpaper" \ -o $4 == "centered" \ -o $4 == "scaled" \ -o $4 == "stretched" \ -o $4 == "zoom" ]; then OPTION=$4 else echo Usage: ${0##*/} "-a [filename]" \ "{-t [wallpaper|centered|scaled|stretched|zoom]}" exit 1 fi fi FILENAME=`pwd`/$2 TEMPFILE=tmp$$ if [ -f "${FILENAME}" ]; then echo ${OPTION}:"${FILENAME}" >> ${WALL_LIST} sort ${WALL_LIST} | uniq > ${TEMPFILE} mv ${TEMPFILE} ${WALL_LIST} else echo "${0##*/}: file: $2: is wrong" exit 1 fi ;; -ls|--list) i=1 while read line; do echo "${i}) path:" ${line#*:} echo " type:" ${line%%:*} i=`expr ${i} + 1` done < ${WALL_LIST} ;; -r|--remove) i=1 TEMPFILE=tmp$$ while read line; do if [ ${i} -ne $2 ]; then echo ${line} >> ${TEMPFILE} fi i=`expr ${i} + 1` done < ${WALL_LIST} mv ${TEMPFILE} ${WALL_LIST} ;; -u|--uzai|--uttousii) INTERVAL="90m" if [ $# -eq 2 ]; then if expr "$2" : "^[0-9][0-9]*[hms]$" > /dev/null; then INTERVAL=$2 else echo "$2!!!" exit 1 fi fi while [ 1 ]; do rndwall sleep ${INTERVAL} done ;; *) CUR_OPTION=`gconftool -g ${KEY_OPTION}` OPTION=${CUR_OPTION} CUR_WALL=`gconftool -g ${KEY_FILE}` FILENAME=${CUR_WALL} while [ "${FILENAME}" = "${CUR_WALL}" \ -a "${OPTION}" = "${CUR_OPTION}" ]; do FILENAME=`sed -e "/^$/d" | sort -R $WALL_LIST | head -n 1` OPTION=${FILENAME%%:*} FILENAME=${FILENAME#*:} done < ${WALL_LIST} FILENAME=`echo ${FILENAME} | sed -e "s/ /\\ /g"` gconftool -s ${KEY_FILE} --type=string "${FILENAME}" gconftool -s ${KEY_OPTION} --type=string "${OPTION}" ;; esac
シェルスクリプトはなんとなくかけるようになった!!実験自動化して効率あっぷまちがいなし!
/dev/nullってデブでぬるぬるやとおもってた