看板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