shell脚本的执行顺序
1. Shell基础脚本-运算符优先级
在脚本中,运算执行的顺序被称为优先级: 高优先级的操作会比低优先级的操作先执行
表-1. 运算符优先级(从高到低)
实际上,你只需要记住以下规则就可以了:
现在,让我们利用运算符优先级的知识来分析一下Fedora Core linux中的/etc/init.d/functions文件。
为了避免在复杂比较运算中的错误,可以把运算分散到几个括号结构中
2. 怎样将多条linux命令写成shell脚本顺序执行
kill -9 `ps -ef |grep weblogic |awk '{print $2}'` //强制杀掉该进程
cd /home/bea/user_project/domain/oms_domain/ //进入weblogic域绝对路径
mv tbp_config `date +%F`tbp_config //将老的工程项目修改为yyyy-mm-ddtbp_config
cd apps //进入apps目录
mv TBPWeb `date +%F`TBPWeb //将老的工程项目修改为yyyy-mm-ddTBPWeb
unzip Webconnect.zip //解压新项目压缩包
mv Webconnect/ TBPWeb/ //将新项目名称修改为TBPWeb
cd .. //回到上级目录
unzip tbp_config.zip //解压新项目压缩包
nohup ./startWeblogic.sh && //后台启动weblogic
tail -f nohup.out //查看启动信息
3. Linux Shell脚本的执行过程
用户登录时,将会取得一个 bash ,这个 bash 在系统中有一个全局唯一的ID,也就是进程的ID,使用命令 ps -ef 并配合 grep 来查看进程ID。 ps -ef|grep bash ,此命令还能查看进程对应的父进程ID,系统中所有进程的祖先进程都是INIT进程(进程ID=1),它是最先启动运行的。
回到 bash 进程,也就是我们的命令行界面,进程的执行都有其附属的执行环境,环境变量就属于其中之一。并且环境变量是可以完全被子进程继承的,也就是说,子进程可以使用父进程的环境变量,但是不能使用父进程的自定义变量。
简而言之: 子进程继承父进程的环境变量,不继承父进程的自定义变量。
shell脚本有4种执行方式,不同的执行方式可能导致结果不一致
四种方式的执行结果如下:
4. linux中.sh脚本文件中命令的执行顺序
每条命令后如果不加&的话就是依次一行一行的顺序执行,只有前面一行执行完成后再执行下一行,如果希望多个命令在一个shell内执行可在一行写入多条命令,用&&符号间隔