linux下c语言怎么调用shell脚本?
两种方法比如调用ifconfig命令可以system("ifconfig");也可以FILE*fp=popen("ifconfig","rb");。
linux如何开机自动运行sh脚本?
要开机运行只需将它加入到rc.local,一般为/etc/rc.d/rc.local在其中加入以下行:
sh/path/to/test.sh
使用linux全局变量$?可以确定是否执行,如
if
then
echo"succeed!"
fi
#modifiedsometypo--update@22:48。
linuxshell脚本解释exec?
这是一个if结构判断/var/log/x.log是否存在然后执行exec命令,将执行输出的标准信息和错误信息都输出到/var/log/x.log文件。
wincc全局脚本if条件中怎么加或的条件?
是否勾选全局脚本运行程序,还有if(a==1);不要最后那个分号。
linux中怎么查询自己启动的脚本?
1.要开机运行只需将它加入到rc.local,一般为/etc/rc.d/rc.local在其中加入以下行:sh/path/to/test.sh2.使用linux全局变量$?可以确定是否执行,如ifthenecho"succeed!"fi#modifiedsometypo--update@22:48
shell中if语句多个条件判断的用法
if条件语句可以让脚本根据实际情况的不同而自动切换命令执行方案,从技术角度上来说分为单分支结构、双分支结构、多分支结构,复杂度随着灵活度一起逐级上升。详情请关注《linux就该这么学》。
单分支的if条件语句结构,这种结构仅用if、then、fi关键词组成,只在条件成立后才执行预设命令,相当于口语的“如果……那么……”,属于最简单的一种条件判断结构,操作语法如图所示:使用单分支的if条件语句来判断某个目录是否存在,若已经存在就结束条件判断和整个Shell脚本,而如果不存在则去创建这个目录:[root@linuxprobe~]#vimmkcdrom.sh#!/bin/bashDIR="/media/cdrom"if[!-e$DIR]thenmkdir-p$DIRfi因为第5章才会去学习用户身份与权限,此时继续直接用“bash脚本名称”的方式来执行脚本即可,顺利执行脚本文件后正常情况下是没有任何输出信息的,咱们可以使用ls命令验证下这个目录是否已经成功创建:[root@linuxprobe~]#bashmkcdrom.sh[root@linuxprobe~]#ls-d/media/cdrom/media/cdrom。
双分支的if条件语句结构,这种结构仅用if、then、else、fi关键词组成,进行两次条件判断匹配,两次判断中任何一项匹配成功后都会执行预设命令,相当于口语的“如果……那么……或者……那么……”,也是属于很简单的一种条件判断结构,操作语法如图所示:使用双分支的if条件语句来验证某个主机是否在线,然后根据判断执行返回值结果分别给予对方主机是在线还是不在线的提示信息。
脚本中我主要是使用ping命令来测试与对方主机的网络联通性,而linux系统中的ping命令不像windows系统一样仅会尝试四次就结束,因此为了避免用户等待时间过长,而通过-c参数来规定尝试的次数,-i参数定义每个数据包的发送间隔时间以及-W参数定义最长的等待超时时间。
[root@linuxprobe~]#vimchkhost.sh#!/bin/bashping-c3-i0.2-W3$1/dev/nullif[$?-eq0]thenecho"Host$1isOn-line."elseecho"Host$1isOff-line."fi。
咱们在4.2.3小节中用过$?变量,作用是显示上一次命令的执行返回结果,若上一条语句是顺利执行成功的则会返回数字0,而若上一条语句执行是失败的则返回一个非零的数字(随系统版本差异可能会是1或者2都有可能),因此可以通过用数字条件测试的方法判断$?变量是否等于零来获知上一条语句的最终判断情况,192.168.10.10是服务器本机地址,验证下脚本的效果吧:[root@linuxprobe~]#bashchkhost.sh192.168.10.10Host192.168.10.10isOn-line.[root@linuxprobe~]#bashchkhost.sh192.168.10.20Host192.168.10.20isOff-line.
多分支的if条件语句结构,这种结构需要使用if、then、else、elif、fi关键词组成,进行多次条件判断匹配,多次判断中任何一项匹配成功后都会执行预设命令,相当于口语的“如果……那么……如果……那么……N次等等”,这是一种工作中最常使用的条件判断结构,虽然相对复杂但更加灵活,操作语法如图所示:使用多分支的if条件语句来判断用户输入的分数在那个成绩区间内,然后输出如优秀、合格、不合格等提示信息。
read是用来读取用户输入信息的命令,它能够把接收到的用户输入信息赋值给后面的指定变量,而-p参数则是给予了用户一定的提示信息。
下面实例中判断用户输入的分数是否同时具备大于等于85分且小于等于100分,这样的话才输出Excellent字样,若上一条件没有匹配成功则继续判断用户输入分数是否大于等于70分且小于等于84分,这样的话输出Pass字样,如果两次都落空没有匹配成功,则最终输出Fail字样:[root@linuxprobe~]#vimchkscore.sh#!/bin/bashread-p"Enteryourscore(0-100):"GRADEif[$GRADE-ge85][$GRADE-le100];thenecho"$GRADEisExcellent"elif[$GRADE-ge70][$GRADE-le84];thenecho"$GRADEisPass"elseecho"$GRADEisFail"fi[root@linuxprobe~]#bashchkscore.shEnteryourscore(0-100):8888isExcellent[root@linuxprobe~]#bashchkscore.shEnteryourscore(0-100):8080isPass如果用户输入的分数并没有满足第一项匹配条件,则会自动进行下面的匹配流程:[root@linuxprobe~]#bashchkscore.shEnteryourscore(0-100):3030isFail[root@linuxprobe~]#bashchkscore.shEnteryourscore(0-100):200200isFail
还没有评论,来说两句吧...