#!/bin/bash
# ref: http://pastebin.com/f528ad5d2
# 可以用 cron 執行的正妹計時器, 更換 ubuntu gnome 桌面背景.
# 2010-1212 alston
mydir=~/ar/girlclock/
hmfile=`date +"%H%M"`.JPG
## Get and export the DBUS_SESSION_BUS_ADDRESS for crontab compatibility
nautilus_pid=$(pgrep -u $LOGNAME -n nautilus)
eval $(tr '\0' '\n' < /proc/$nautilus_pid/environ | grep '^DBUS_SESSION_BUS_ADDRESS=')
export DBUS_SESSION_BUS_ADDRESS
if [ ! -e $mydir/$hmfile ];then
wget http://gameflier.lovelytime.com.tw/photo/$hmfile -O $mydir/$hmfile
fi
/usr/bin/gconftool-2 --type string -s /desktop/gnome/background/picture_filename $mydir/$hmfile
2010年12月12日 星期日
2010年9月3日 星期五
在 linux 下有沒有什麼好的 binary 操作工具
我覺得 dos 的 debug.com 很好用,要把 binary data 搬動/覆蓋 很方便。linux 文字模式下,我只找到 hexer 還不錯,它是 vi 的操作鍵法。其他軟體像 hexedit, vim binary mode 都不是很好用。
2009年11月10日 星期二
如何用 sed 刪掉找到的行之後數行
比如一個文件有一行 label: abc,除了刪這行之外,其後每行開頭只要是空白字元開頭的都要刪,用 sed 如何作?
A:
sed '/^label: abc/{
: lp
N;s/.*\n//
/^ /{b lp}
}'
A:
sed '/^label: abc/{
: lp
N;s/.*\n//
/^ /{b lp}
}'
2008年11月27日 星期四
google maps 可以幫你規劃路線了
千呼萬喚始出來,google 地圖終於加入可以幫你規劃路線的功能了。它可以幫你規劃開車、搭公車或走路的路線。而且規劃好的路線若有中點要先前往,你還可以拉中點,最厲害的是 google 馬上動態幫你重新規劃路線,而且規劃速度真是不可思議地快。規劃公車路線若要換車也會告訴你,真方便。大家趕緊上去玩一玩。我真的為 www.urmap.com.tw 感到非常可惜,他遇到了一個強大的對手。以前在 google maps 沒這功能前,我都用 urmap 的。
google maps 只是用瀏覽器看,不需要安裝導航軟體。我相信 google phone 真的會襲捲全球,其他智慧型手機大概會很慘,因為 google phone 主要的軟體就只是瀏覽器,其他功能會透過瀏覽器來實現,手機會變得很便宜。明年 google 手機在台上市後,我想只要有 GPS 接收器應該就能導航,不用裝 GPS 導航軟體。其他的計算機功能、google mail、日曆等,google 都提供了,手機還需要裝什麼軟體?語音識別呢?google 也有了。翻譯呢?google 也有,而且可能你只要對手機講國語,語音馬上送去 google 辨識然後再翻成別國語言再傳到你手機說出來。你的手機只要瀏覽器,其他都不要,難怪 google 手機只賣 6000 塊。

google maps 只是用瀏覽器看,不需要安裝導航軟體。我相信 google phone 真的會襲捲全球,其他智慧型手機大概會很慘,因為 google phone 主要的軟體就只是瀏覽器,其他功能會透過瀏覽器來實現,手機會變得很便宜。明年 google 手機在台上市後,我想只要有 GPS 接收器應該就能導航,不用裝 GPS 導航軟體。其他的計算機功能、google mail、日曆等,google 都提供了,手機還需要裝什麼軟體?語音識別呢?google 也有了。翻譯呢?google 也有,而且可能你只要對手機講國語,語音馬上送去 google 辨識然後再翻成別國語言再傳到你手機說出來。你的手機只要瀏覽器,其他都不要,難怪 google 手機只賣 6000 塊。
2008年8月29日 星期五
bash 的特殊 command :
bash 是很複雜的,裡頭有很多特殊符號的用法,看起來像天書。command 中也有一個很特別的,但很好用的命令。這 command 只是一個冒號 :。這個冒號有點像 # 把後面的字串當註解,但它其實不是。它跟其他 command 一樣是 command, 所以語法要跟其他 command 等同視之。而 : 這 command 會把後面的字串當參數,該做 expansion 的也會做 expansion,比如 $1 會 expand 出第一個參數。但 : 不會把後面的參數拿來執行。而且最後會 return 0。
見下面 testcolon.sh
./testcolon.sh aa bb cc 的輸出如下:
最後要再強調一次,: 是 command,所以下面第一行的寫法是正確的,但第二行是錯誤的。
見下面 testcolon.sh
#!/bin/bashset -x 是 debugtrace,可以把每行要執行前先 print 到 terminal。
set -x
echo "COLON test"
: echo "$*"
: $1
: [ $1 == bb ] && echo success || echo fail
./testcolon.sh aa bb cc
+ echo 'COLON test'我們可以看到 "$*" 跟 $1 都被 expand 出來。最後 echo 出 success 是因為 : command 一定會 return 0。要注意,它不是把整行「註解」掉,它跟 # 不同,不是拿來當註解用途。
COLON test
+ : echo 'aa bb cc'
+ : aa
+ : '[' aa == bb ']'
+ echo success
success
最後要再強調一次,: 是 command,所以下面第一行的寫法是正確的,但第二行是錯誤的。
1) echo "comment test1"; date # this is a comment
2) echo "comment test2"; date : this is a comment
2008年8月19日 星期二
訂閱:
文章 (Atom)