suse:~ # help test
test: test [expr]
Exits with a status of 0 (true) or 1 (false) depending on
the evaluation of EXPR. Expressions may be unary or binary. Unary
expressions are often used to examine the status of a file. There
are string operators as well, and numeric comparison operators.
File operators:
-a FILE True if file exists.
-b FILE True if file is block special.
-c FILE True if file is character special.
-d FILE True if file is a directory.
-e FILE True if file exists.
-f FILE True if file exists and is a regular file.
-g FILE True if file is set-group-id.
-h FILE True if file is a symbolic link.
-L FILE True if file is a symbolic link.
-k FILE True if file has its `sticky' bit set.
-p FILE True if file is a named pipe.
-r FILE True if file is readable by you.
-s FILE True if file exists and is not empty.
-S FILE True if file is a socket.
-t FD True if FD is opened on a terminal.
-u FILE True if the file is set-user-id.
-w FILE True if the file is writable by you.
-x FILE True if the file is executable by you.
-O FILE True if the file is effectively owned by you.
-G FILE True if the file is effectively owned by your group.
-N FILE True if the file has been modified since it was last read.
FILE1 -nt FILE2 True if file1 is newer than file2 (according to
modification date).
FILE1 -ot FILE2 True if file1 is older than file2.
FILE1 -ef FILE2 True if file1 is a hard link to file2.
String operators:
-z STRING True if string is empty.
-n STRING
STRING True if string is not empty.
STRING1 = STRING2
True if the strings are equal.
STRING1 != STRING2
True if the strings are not equal.
STRING1 < STRING2
True if STRING1 sorts before STRING2 lexicographically.
STRING1 > STRING2
True if STRING1 sorts after STRING2 lexicographically.
Other operators:
-o OPTION True if the shell option OPTION is enabled.
! EXPR True if expr is false.
EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.
EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.
arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,
-lt, -le, -gt, or -ge.
Arithmetic binary operators return true if ARG1 is equal, not-equal,
less-than, less-than-or-equal, greater-than, or greater-than-or-equal
than ARG2.
posted @
2007-08-12 10:38 思考 閱讀(281) |
評論 (0) |
編輯 收藏
在SuSE Linux Enterprise Server 9上安裝Oracle9i后,及時使用了安裝了
orarun-1.8-109.15.i586.rpm包,也無法正常啟動。
后來跟蹤了啟動的Shell腳本,最后發現是需要更改$ORACLE_HOME/bin/dbstart文件。在該文件中,定義變量PFILE:
PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
其中,在Oracle9i中已經通過spfile${ORACLE_SID}.ora。因此,將PFILE變量修改為:
PFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
同時,為了可以在關機的時候關閉數據庫,同時在$ORACLE_HOME/bin/dbshut文件中對應的位置也需要修改PFILE文件的定義。
另外,還有一種方法,就是生成pfile。用sqlplus連接數據庫,
conn / as sysdba
create pfile from spfile;
這樣,就會參考${ORACLE_HOME}/dbs/spfileora9i.ora生成initora9i.ora這個pfile。這樣就不用改啟動腳本文件了。
以上兩種方法已經證明都可以正常工作。
posted @
2007-07-15 18:26 思考 閱讀(904) |
評論 (0) |
編輯 收藏
在SuSE下,由于SuSE特有的腳本管理方法,Should-Stop和Default-Stop選項被忽略了。同時,在腳本開始處執行/etc/rc.status腳本,可以通過調用rc_status -v檢查啟動命令的執行結果并彩色顯示出來。
#!/bin/bash
#
# /etc/init.d/oracle
#
### BEGIN INIT INFO
# Provides:
# Required-Start: $network $syslog
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Description: Startup/shutdown script for oracle listener and instance;
### END
. /etc/rc.status
rc_reset
start()
{
#when system stop redhat check /var/lock/subsys/oracle
#to make sure oracle is running.
touch /var/lock/subsys/oracle
# start tsnlisnter
echo -n "Start tsnlisnter:"
su - oracle -c "lsnrctl start" >/dev/null 2>/dev/null
rc_status -v
# start database
echo -n "Start Oracle database instance:"
su - oracle -c "echo \"
CONN / AS SYSDBA
STARTUP
exit \"|sqlplus /NOLOG" >/dev/null 2>/dev/null
rc_status -v
# start enterprise manager
echo -n "Start Enterprise Manager:"
su - oracle -c "emctl start dbconsole" >/dev/null 2>/dev/null
rc_status -v
#start isqlplus
echo -n "Start isqlplus"
su - oracle -c "isqlplusctl start">/dev/null 2>/dev/null
rc_status -v
}
stop()
{
#when system stop redhat check /var/lock/subsys/oracle
#to make sure oracle is running.
rm -rf /var/lock/subsys/oracle
# shutdown database
echo -n "Shutdown Oracle database instance:"
su - oracle -c "echo \"
CONN / AS SYSDBA
SHUTDOWN immediate
exit \"|sqlplus /NOLOG">/dev/null 2>/dev/null
rc_status -v
# stop tsnlisnter
echo -n "Stop tsnlisnter:"
su - oracle -c "lsnrctl stop">/dev/null 2>/dev/null
rc_status -v
# stop enterprise manager
echo -n "Stop Enterprise Manager:"
su - oracle -c "emctl stop dbconsole"
rc_status -v
# stop isqlplus
echo -n "Stop isqlplus:"
su - oracle -c "isqlplusctl stop"
rc_status -v
}
case "$1" in
start)
start
echo "Oracle Start at:" `date` >>/var/log/oracle.log
;;
stop)
stop
echo "Oracle Stop at:" `date` >>/var/log/oracle.log
;;
restart)
echo "Oracle Restart at:" `date` >>/var/log/oracle.log
stop
start
;;
*)
echo "Usage: $0 { start | stop| restart }"
exit 1
;;
esac
rc_exit
posted @
2007-06-05 09:50 思考 閱讀(1505) |
評論 (0) |
編輯 收藏
在用Struts開發項目的時候遇到了一個問題,當上傳文件時,中文文件名會出現亂碼問題。
于是,在Google和Baidu上面進行了搜索。結果發現有無數人遇到了相同的問題,大家也都在迫切的詢問此類問題。但是回帖的結果卻讓人特別生氣!
回帖的內容大致可分為兩類:
第一類,都是把別人的帖子轉來轉去,也不著名出處。更是有幾個人都在自己的博客上寫的內容完全一樣,還說是自己寫的!
另一類相對要好一些,對問題進行了解答。但是,按照他們所說的進行了更改,根本就不能解決問題。真是不知道他們是這么解決這個問題的。
后來在玉米田http://www.yumt.com/showlog.jspe?log_id=56#71的博客上有一篇文章說道了此事,才能徹底解決這個問題。看了之后才知道,原來Struts的upload功能是對jakarta apache的commons-fileUpload進行了封裝實現的。但是在實現時,沒有考慮到文件編碼的問題。所以,需要對struts.jar中的文件進行修改并重新編譯打包。事實證明,這樣作問題解決了。
但是回過頭來,那些通過在JSP頁面中設置編碼方式為UTF-8或者在得到文件名進行編碼轉譯的人是如何解決這個問題的,難道我的系統跟他們的不一樣嗎?
由此,可以看出很多網友不能夠踏踏實實的做人,人云亦云。抱著一種極其不負責任的態度,這樣作不但是自己不能真正理解問題的本質,得不到提高和進步,更加影響了對此類問題不甚了解并渴望解答的人所誤解。
同時,一旦這種風氣發展下去,下次提問者作為解答者的時候這種現象又會出現。如果此類現象愈演愈烈,勢必會對我們中國整個軟件業甚至這個中華民族帶來及其深刻的影響!
希望跟我有同感的IT同仁可以從自己做起,認真回答網友的提問。我們從自己做起,從現在做起!
posted @
2006-12-20 20:33 思考 閱讀(271) |
評論 (0) |
編輯 收藏
今天看了Sun的Java編程習慣,記錄一下:
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
posted @
2006-11-12 17:08 思考 閱讀(328) |
評論 (1) |
編輯 收藏
好久沒來了,感覺沒有對社區做出點貢獻,有愧版主的頭銜,今日在這里為大家提供兩則小技巧,以便幫你強行殺死“頑固不化”的病毒進程。?
根據進程名查殺?
這種方法是通過WinXP系統下的taskkill命令來實現的,在使用該方法之前,首先需要打開系統的進程列表界面,找到病毒進程所對應的具體進程名。?
接著依次單擊“開始→運行”命令,在彈出的系統運行框中,運行“cmd”命令;再在DOS命令行中輸入“taskkill?/im?aaa”格式的字符串命令,單擊回車鍵后,頑固的病毒進程“aaa”就被強行殺死了。比方說,要強行殺死“conime.exe”病毒進程,只要在命令提示符下執行“taskkill?/im?conime.exe”命令,要不了多久,系統就會自動返回結果。?
根據進程號查殺?
上面的方法,只對部分病毒進程有效,遇到一些更“頑固”的病毒進程,可能就無濟于事了。此時你可以通過Win2000以上系統的內置命令——ntsd,來強行殺死一切病毒進程,因為該命令除System進程、SMSS.EXE進程、CSRSS.EXE進程不能“對付”外,基本可以對付其它一切進程。但是在使用該命令殺死病毒進程之前,需要先查找到對應病毒進程的具體進程號。?
考慮到系統進程列表界面在默認狀態下,是不顯示具體進程號的,因此你可以首先打開系統任務管理器窗口,再單擊“查看”菜單項下面的“選擇列”命令,在彈出的設置框中,將“PID(進程標志符)”選項選中,單擊“確定”按鈕。返回到系統進程列表頁面中后,你就能查看到對應病毒進程的具體PID了。?
接著打開系統運行對話框,在其中運行“cmd”命令,在命令提示符狀態下輸入“ntsd?-c?q?-p?PID”命令,就可以強行將指定PID的病毒進程殺死了。例如,發現某個病毒進程的PID為“444”,那么可以執行“ntsd?-c?q?-p?444”命令,來殺死這個病毒進程。
posted @
2006-08-21 14:50 思考 閱讀(928) |
評論 (0) |
編輯 收藏
1.在拖地的水中加入幾滴薰衣草精油
2.家中幾個角落放些"滅蟻靈",一元一包,一天至兩天,讓它一窩端
3.家人無意收聽到了一則紅螞蟻遇到橡皮筋就走開的廣播,便打算試一試。
4.用雞蛋殼數個,放在爐子上烤黃(不能烤焦),然后輾成粉末狀,撒在螞蟻窩周圍及其經常出入的地方,因為此粉末有香味,螞蟻特別愛吃,吃多了就會被撐死。
posted @
2006-08-13 13:00 思考 閱讀(407) |
評論 (0) |
編輯 收藏
今天看了一則報道“
廣州現新型犯罪方式 將路邊行人拉上車搶劫強奸”,其中說道廣州警察為了打擊犯罪,依法開了12槍,3個被擊斃,9個被打傷。這個命中率也太高了吧,100%。
posted @
2006-07-21 22:03 思考 閱讀(345) |
評論 (1) |
編輯 收藏
首先聲名,本人不是球迷,看球完全是一種消遣。
在看完昨天世界杯后,中央5臺的主持人張斌在節目中,首先講述了很多足球解說人的路子都是從球迷、記者到主持人這樣一步一步走過來的。然后,就請現場的一位觀眾對剛剛進行完的比賽中德國隊的第一個進球做現場解說。結果,那位是中國寬帶網的觀眾的表現可想而知,不能令人滿意。接下來,張斌就得出這樣一個結論:你看,做一名足球解說不是那么容易的事吧……如果你說了3000場比賽,你也可以說的很好。大概是這樣的吧,具體我也沒有記住。然后他大腹便便、心滿意足的回到了主持人的坐席上,繼續支持他的節目。
說實話,當時我真想沖到北京打他一頓,說的什么狗屁話。他的言外之意就是他們的工作有難度,不想我們想象中那么簡單,所以口誤是正常的。首先,那個觀眾是第一次說球,能說成這樣已經不錯了。但是不能因為他說的不好,就能夠證明你們的工作有多么多么的難。其次,即使我們承認解說員工作存在難度,也不能為你們的口誤找借口啊。不然,中央臺為什么付薪水給你,而不去找其它人。話說回來,我也聽過ESPN的主持人的解說,雖然不是常聽,但是至少在我收看時沒有發現口誤的問題。最后,不能因為工作存在困難,就堂而皇之的為自己的失職尋找客觀原因。不要說是人,就連機器都有出錯的時候,這點我們是可以理解的。但是,如果希望觀眾,至少是那些吹毛求疵的觀眾,可以理解你們,最起碼的為自己失職的道歉還是應該有的吧!
posted @
2006-06-21 12:05 思考 閱讀(228) |
評論 (0) |
編輯 收藏
?????????1、孔子路過泰山腳下,有一個婦女在墓前哀傷地哭泣。孔子手扶車沿聽她哭訴,并讓弟子問她緣由,婦女說:“以前我的公公被老虎咬死,我的丈夫跟著被老虎咬死,現在我的兒子也被老虎咬死了;”
孔子說:“事情都過去了,又何必傷心?”
婦女說:“不僅如此,這里還有繁重的苛捐雜稅”;
孔子道:“那為什么不離開這里呢?”
婦女說:“我怕失去低收入者作為納稅人的榮譽!”
孔子于是對弟子道:“小子識之,苛政雖猛于虎,然納稅人的榮譽牛B于苛政也!”
----全國人大農業與農村委員會委員任正隆則認為,起征點太高剝奪了低收入者作為“納稅人”的榮譽。
2、漢朝的淮南王劉安派人進山訪仙,從仙翁手里得到了一張仙方。他把自己關進暗房里,煉起仙丹來。八卦爐里煉出一些圓滾滾的仙丹,他一口氣吞下5顆,飄飄悠悠飛上天去了!門外的雞犬一看,也跟著大吃起來,不一會,空中一陣雞鳴狗叫,原來它們也飛上天了!有人問道:“劉安,你家的雞犬怎么也跟著成仙了?”
劉安說:“為了防止拉登發動恐怖襲擊、撞擊天庭,我特意實行“一人得道,雞犬升天”制,在任何緊急情況下,都能及時幫助疏散與救援,這是一個安全上的舉措,并不是專門把成仙作為福利”。
----廣州地鐵線網聽政會上,地鐵員工家屬免費坐地鐵引起代表爭議,地鐵總經理解釋,是為了“反恐需要”。
3、秦始皇修筑萬里長城時死了許多人,孟姜女的丈夫萬喜良也在其中。聽到這個消息,孟姜女只覺得天昏地暗,一下子昏倒在地,醒來后,她傷心地痛哭起來,只哭得天愁地慘,日月無光。不知哭了多久,忽聽得天搖地動般地一聲巨響,長城崩塌了幾十里,露出了數不清的尸骨。孟姜女咬破手指,把血滴在一具具的尸骨上,她心里暗暗禱告:如果是丈夫的尸骨,血就會滲進骨頭,如果不是,血就會流向四方。終于,孟姜女用這種方法找到了萬喜良的尸骨。她抱著這堆白骨,哭著說道:“老萬,你的死跟你丫本人素質不高有關啊!”
----11月30日,七煤公司一領導在接受采訪時表示,“11·27”礦難的主要原因歸咎于井下礦工對規章制度執行不力,勞動者的素質離我們的要求還差很遠。
4、三國演義里,諸葛亮造木牛流馬,用來運送糧草,以此大敗曹軍。但后來木牛流馬卻失傳了,即便是諸葛亮的得意弟子姜維也不會造。諸葛軍師臨終前眾將問他:“軍師,木牛流馬這般好用,為何您再也不造了?”
孔明長嘆一聲曰:“某交通學大學士、大教授的研究結果表明,木牛流馬的污染比汽車飛機大,為了子孫后代的幸福,你們還是等著坐汽車吧!”
----“中國城市環境污染不是由汽車造成的,而是由自行車造成的”。國內一家搞環境研究的權威機構經過一番調查與研究后得出的一個“科學”結論。
5、老栓也向那邊看,卻只見一堆人的后背;頸項都伸得很長,仿佛許多鴨,被無形的手捏住了的,向上提著。靜了一會,似乎有點聲音,便又動搖起來,轟的一聲,都向后退;一直散到老栓立著的地方,幾乎將他擠倒了。
“喂!一手交錢,一手交貨!”一個渾身黑色的人,站在老栓面前,眼光正像兩把刀,刺得老栓縮小了一半。那人一只大手,向他攤著;一只手卻撮著一個鮮紅的饅頭,那紅的還是一點一點的往下滴。
老栓慌忙摸出洋錢,抖抖的想交給他,卻又不敢去接他的東西。那人便焦急起來,嚷道,“怎么?嫌貴?舍不得銀子?” 老栓還躊躇著,黑的人便搶過燈籠,一把扯下紙罩,裹了饅頭,
塞與老栓;一手抓過洋錢,捏一捏,轉身去了。嘴里哼著說:“這血饅頭是藥,不能當饅頭賣!價格不貴,不同意降價!”
----“藥品怎么能當饅頭賣?”在“看病難,藥價貴”呼聲高漲時,東盛制藥集團總裁陶朝輝卻反其道而行之,拋出“饅頭論”,堅持“藥價不貴,不同意降價”。
6、宋代窮儒陳世美,進京考中狀元,被招為駙馬。其發妻秦香蓮帶二子上京尋親,陳世美翻臉不認人;秦香蓮悲痛欲絕,發誓要討還情債。陳世美勃然大怒,上表朝廷奏曰:臣以為,開封自古就是神圣之地,豈容外地人隨便進入?應該建立人口準入制度!同時,對那些惡意討情之人,應堅決打擊!”
----在剛剛結束的北京市“兩會”上,政協委員張惟英教授提出“建立人口準入制度”的建議:目前北京市的居住人口已超過各種資源的人口承載極限,嚴重制約了北京的發展,建議摸清北京市實際需要的人才類別,用準入制度進行合理的引入,規范人口流動。
7、武松醉打蔣門神、替施恩奪了快活林之后,中了張都監、張團練的計,幾乎命喪飛云浦。武松殺了張都監的幾名爪牙,尋思了半晌,怨恨沖天:“不殺得張都監,如何出得這口恨氣!”便去死尸身邊解下腰刀,選好的取把將來跨了,揀條好樸刀提著,直奔孟州城張都監的后花園。
張都監、張團練、蔣門神正在鴛鴦樓吃酒,冷不防武松闖了進來,噗噗幾刀砍死蔣門神、張團練。武松踏著張都監的腦袋喝道:“你們這幫賊子,為何黑道白道勾結、串通一氣害我?”
張都監顫顫巍巍地答道:“說句實話,官匪勾結的重要原因,是我們的待遇過低了!”
--成都火車站派出所副所長付小華接受采訪時表示:“出現‘警匪勾結’這種情況的重要原因是警察待遇過低”
8、有一日,竇娥碰到蘇三、楊乃武、小白菜等人,就問他們:“你們都平反昭雪了嗎?”眾人說:“都昭雪了”;竇娥又問:“那少奇兄弟、德懷兄弟、志新妹妹呢?”眾人說:“也都平反了”。竇娥便道:“我說什么來著,咱們的司法就是公正!那么多案件從錯的糾成正的,這難道不是司法公正的體現嗎?”
----被無辜關押11年的佘祥林被宣告無罪了,但這一悲劇投石入湖的震蕩,遠遠沒有平息。當事人申請國家賠償、責任人被追究法律責任,尚都在公眾的持續關注中。種種怨怒未消之下,另一方面卻居然頻頻出現奇怪的言論:4月1日湖北高院向該省法院系統發出通知,要求認真總結避免佘祥林被冤殺的經驗;最高法副院長萬鄂湘日前在就此案答媒體問時又說:“是否司法不公應該從最后糾正的結果看。這個案件從錯的又糾成正的,難道不是司法公正的體現嗎?”
9、一天,周扒皮去找劉文彩,“劉大哥,我們村那些窮棒子們發牢騷,說他們活得太苦、活得沒意思”;
劉文彩說:“他們是我國巨大的財富,沒有他們的辛苦哪有咱們少數人的享樂,他們的存在和維持現在的狀態是很有必要的。”
周扒皮說:“有的長工說他想讀書!”
劉文彩道:“咱們的教育改革已經成功了,他還嚷嚷個屁!”
周扒皮說:“他們說收租院放高利貸是暴利”;
劉文彩道:“放高利貸就該暴利,誰讓他們不幸生在X國了?我們就是要把暴利進行到底!”
周扒皮說:“他們還說現在收入差距過大,存在兩極分化”;
劉文彩道:“純屬放屁!大家都在同一個經緯度上,又不是一個在南極、一個在北極,哪來的兩極分化?!”
-- 經濟學家厲以寧如是說“8億多農民和下崗工人是中國巨大的財富,沒有他們的辛苦哪有少數人的享樂,他們的存在和維持現在的狀態是很有必要的。”
10、董存瑞犧牲后到了天堂,上帝問他:“你是怎么死的?”董存瑞說:“為了炸敵人的碉堡,被炸藥包炸死的”;
上帝聽后勃然大怒,說道:“胡說!你膽敢騙我?”
董存瑞說:“我沒騙您啊!”
上帝說:“你以為我不懂科學嗎?誰不知道,爆炸只會產生水和二氧化碳,你不是被水淹死的、就是被二氧化碳薰死的,怎么可能是被炸死的呢?!”
吉林石化的人所說:爆炸產生水和二氧化碳,不會污染水源!
posted @
2006-06-19 10:58 思考 閱讀(347) |
評論 (0) |
編輯 收藏