简单的脚本范文第1篇
以下是重启Linux下某进程的shell脚本,以tomcat进程为例:
#!/bin/shpid=`ps-ef|greptomcat|grep-vgrep|awk'{print$2}'`if[“$pid”=“”];thenecho“tomcatservicedoesnotstart!”elsekill-9$pidpid1=`ps-ef|greptomcat|grep-vgrep|awk'{print$2}'`if[“$pid1”=“”];thenecho“Successfullykilltomcatprocesses:”$pidelseecho“tomcatkillprocessfailed!”exit1fifirm-rf/opt/tomcat/work/*./`ps-ef|greptomcat|grep-vgrep|awk'{print$2}'`if[“$pid2”=“”];thenecho“tomcatservicefailedtostart!”elseecho“tomcatservicestartssuccessfully:”$pid2fi
简单的脚本范文第2篇
#!/bin/sh
#--一个看起来像是bc的前端的命令行计算器
scale=2
show_help
cat< inadditiontostandardmathfunction,calcalsosupports a%b remainderofa/b a^b exponential:araisedtothebpower s(x) sineofx,xinradians c(x) cosineofx,xinradians a(x) actangentofx,returnsradians l(x) naturallogofx e(x) exponentiallogofraisingetothex j(n,x) besselfunctionofintegerordernofx scalen shownfractionaldigits(default=2) eoF if[$#-gt0];then exec“$@” echo“Calc-asimplecalculator.enter'help'forhelp,'quit'toquit.” echo-n“calc>” whilereadcommandargs #像不像python的顺序解包 case$commandin quit|exit)exit0;; help|?) show_help;; scale) scale=$args;; *) -p$scale“$command”“$args”;; esac echo-n“calc>” done echo“” exit0 脚本如何运行: 可能这个脚本最有意思的部分就是那个while循环了, 交互式计算器脚本 它创建一个calc>的提示,直到用户完成输入。当然,这个脚本的间接性成就了它自己:shell脚本并不需要特别的复杂。 运行脚本: 这个脚本跑起来非常简单,因为它是一个交互式的,可以提示用户完成特定操作。如果有参数传递给它,它就转而把这些参数传给。 运行结果: calc150/ Calc-asimplecalculator.enter'help'forhelp,'quit'toquit. calc>help inadditiontostandardmathfunction,calcalsosupports a%b remainderofa/b a^b exponential:araisedtothebpower s(x) sineofx,xinradians c(x) cosineofx,xinradians a(x) actangentofx,returnsradians l(x) naturallogofx e(x) exponentiallogofraisingetothex j(n,x) besselfunctionofintegerordernofx scalen shownfractionaldigits(default=2) calc>54354^3 160581137553864 calc>quit 1111111111111清除/var/log下messages日志文件的简单命令脚本 /var/log/下日志文件时系统文件,必须有root权限: $UiD是系统的全局变量: make&&makeinstall表示前面成功了,执行后面的 make||makeinstall表示前面不成功,执行后面的 清空日志的三种方法:适合保留文件,清空内容的场合 ①echo“”>或echo> ②> ③cat/dev/null> 22222222222:shell脚本的基础知识 shell是弱类型语言:(语法宽松,不严格)较为通用 通用的shell有标准的Bourneshll(sh)和cshell(csh)其中Bourneshell(sh)已经被bashshell取代 shell脚本的建立: tac/etc/将文件倒着显示 相当于:head-1/etc/ ①脚本开头 一个规范的shell脚本的第一行会指出由哪个程序(解释器)来执行脚本中的内容,在 333333333333linuxbash编程中一般为: ①解释器 #!/bin/bash #!/bin/sh ②在linux下sh相当于bash, #!又称幻数,在执行bash脚本的时候,内核会根据它来确定用哪个程序来解释脚本中的内容 ,这一行必须在脚本顶端的第一行,如果不是第一行,则为注释 Centos.和RedHatlinux下默认的shell均为bash ④如果脚本的开头不指定解释器,那么,就要用对应的解释器来执行脚本 脚本注释 脚本的执行 shell脚本的执行 当shell脚本以非交互的方式运行时,它会先查找环境变量enV,该变量指定了一个,环境文件(通常是.bashrc),然后从改环境变量文件开始执行,当读取了enV文件后,SHeLL才开始执行shell脚本中的内容, shell脚本学习 Shell脚本的执行通常可以采用以下三种方式: ①bashscript-name或shscript-name(推荐使用) ②path/script-name或./script-name(当前路径下执行脚本) ③sourcescript-name或.script-name#注意点号 第一种方法是当脚本文件本身没有可执行权限(即文件X位为-号)时常使用的方法,这里推荐用bash执行,或者文件开头没有指定解释器, 第二种方法需要先将脚本文件的权限改为可执行(即文件加X位),具体方法:chmodu+x script-name或者chmod755script-name然后通过脚本路径,就可以直接执行脚本了 第三种方法通常是使用source或者“.”号读入或加载指定的shell脚本文件语句,,然后,依次执行指定shell脚本文件中的所有。语句将作为当前父shell脚本进程的一部分运行,因此,使用source或者“.”点号等的可以将自身脚本中的变量的值,或者函数等的返回值传递到当前的父shell脚本中使用,这是第三种方法和前两种方法的最大区别 通过source或“.”点号加载执行过的脚本,在脚本结束后脚本中的变量(包括函数)值,在当前shell中依然存在,而sh和bash则不行,因此,在做shell脚本开发时。如果脚本中有需求引用其他脚本的内容,或者配置文件时,做好用“.”点号或者source在脚本开头加载改脚本或配置文件,然后在下面的内容用可以调用source加载的脚本及文件中的变量及函数等内容。 笔试题: 已知如下命令及返回结果,请问echo$user的返回的结果为 [oldboy@test~]cat [oldboy@test~]user=`whoami` [oldboy@test~]sh简单的脚本范文第3篇