linux返回值11,linux程式设计-11.shellscript(bash)–(9)流程控制if_shell教程

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值