看板Linux
標 題Re: [問題] 請教關於shellscript寫法上的一些問題
發信站SayYA 資訊站 (Tue Jun 17 03:35:31 2008)
轉信站ptt!ctu-reader!ctu-peer!news.nctu!News.Math.NCTU!SayYa
※ 引述《[email protected] (新生活)》之銘言:
> 小弟是新手,最近開始學著撰寫shell script(csh)請教一下大家。
linux 一般都以 sh or bash 為主,比較少用 csh or tcsh。
建議你還是學 bash 當 programming 用比較好。
> 問題一
> 在某個log檔中如果有出現abc的字,那代表運算執行完畢。x
> 參考了網上找到的資料
> if (grep abc ./path/a.log > /dev/null )then
> .......
> endif
> 在執行的時候出現if: Expression Syntax.
> 請問我要如何修改? 我試過以下幾種方式
> if (grep "abc" ./path/a.log > /dev/null )then
> if (`grep abc ./path/a.log`> /dev/null )then
> 都是出現同樣的錯誤訊息
if ( { grep -q "^root:" /etc/passwd } ) then
echo "found"
else
echo "not found"
endif
> 問題二
> 我設了一個counter
> set a = 00
> @ a++
> echo $a
> 結果顯示為1
> 我要怎麼處理才能讓它顯示為01呢
沒這種功能,但是可以用 printf 這類程式來格式化輸出。
set a = 00
@ a++
printf "%02d\n" $a
我想你 cross post,所以你應該可能不是用 linux 為環境:p
--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
現代人普遍的現象: 「小學而大遺」、「捨本而逐末」
「以偏而概全」、「因噎而廢食」
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: kendlee.sayya.org
1F:推 hikaruh:感謝回覆 06/17 23:08