设置首页  |   加入收藏  |  联系我们   
您的位置: 主页>Linux知识>Linux程序设计>正文
Linux程式设计-11.ShellScript(bash)--(9)流程控制if
文章来源:Linuxdby.com  编辑:  发布时间:2007-11-01


iflistthenlist[eliflistthenlist]...[elselist]fi
几种可能的写法

--------------------------------------------------------------------------------

第一种
iflistthen
dosomethinghere
fi
当list表述返回值为True(0)时,将会执行"dosomethinghere"。

例一:当我们要执行一个命令或程式之前,有时候需要检查该命令是否存在,然後才执行。
if[-x/sbin/quotaon];then
echo"TurningonQuotaforrootfilesystem"
/sbin/quotaon/
fi

例二:当我们将某个档案做为设定档时,可先检查是否存在,然後将该档案设定值载入。
#Filename:/etc/ppp/settings
PHONE=1-800-COLLECT

#!/bin/sh
#Filename:phonebill
if[-f/etc/ppp/settings];then
source/etc/ppp/settings
echo$PHONE
fi
执行
[foxman@foxmanppp]#./phonebill
1-800-COLLECT



--------------------------------------------------------------------------------

第二种
iflistthen
dosomethinghere
else
dosomethingelsehere
fi
例三:Hostname
#!/bin/sh
if[-f/etc/HOSTNAME];then
HOSTNAME=`cat/etc/HOSTNAME`
else
HOSTNAME=localhost
fi



--------------------------------------------------------------------------------

第三种
iflistthen
dosomethinghere
eliflistthen
doanotherthinghere
fi
例四:如果某个设定档允许有好几个位置的话,例如crontab,可利用iftheneliffi来找寻。
#!/bin/sh

if[-f/etc/crontab];then
CRONTAB="/etc/crontab"
elif[-f/var/spool/cron/crontabs/root];then
CRONTAB="/var/spool/cron/crontabs/root"
elif[-f/var/cron/tabs/root];then
CRONTAB="/var/cron/tabs/root"
fi
exportCRONTAB



--------------------------------------------------------------------------------

第四种
iflistthen
dosomethinghere
eliflistthen
doanotherthinghere
else
dosomethingelsehere
fi
例五:我们可利用uname来判断目前系统,并分别做各系统状况不同的事。
#!/bin/sh

SYSTEM=`uname-s`

if[$SYSTEM="Linux"];then
echo"Linux"
elif[$SYSTEM="FreeBSD"];then
echo"FreeBSD"
elif[$SYSTEM="Solaris"];then
echo"Solaris"
else
echo"What?"
fi



Tags:流程 控制 设计 fi then echo if dosomethinghere elif
Google
 
上一篇: Linux程式设计-11.ShellScript(bash)--(8)返回状态Exit   下一篇: Linux程式设计-11.ShellScript(bash)--(10)控制圈while/until
【返回顶部】 【打印】 【大】 【中】 【小】 【关闭】

 我来说两句
用户名: 新注册) 密码: 匿名评论 [论坛讨论]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 相关文章
 热门文章

 
版权所有  2005-2006  Linux集中营  闽ICP备07500055号