nnpc.net
当前位置:首页 >> linux 的 shEll脚本编程中,如何确保一条指令指令执行成功了之后再进行下一条指令 >>

linux 的 shEll脚本编程中,如何确保一条指令指令执行成功了之后再进行下一条指令

basehome$bashhome可能是笔误,另外你需要 用 -p选项逐级建立目录bashhome=$(basename `pwd`)mkdir -p /tmp/$bashhome

要用循环查询直到重启完成.#!/bin/bashservice httpd status &> /dev/nullif [ $? -ne 0 ]; then echo "HTTP Server is down. At time: `date`" >> /var/log/htmon.log service httpd restart while true do service httpd status &> /dev/null [ $? -eq 0 ] && break sleep 1 done chkconfig --level 2345 httpd on shutdown -r nowfi

你可以在ssh h$i "处理过程" &之后用一个变量记录这个后台进程的pid. 然后等待所有的pid结束, 在进行下面的操作.

我觉得可以用两个脚本来实现.第一个运行 inmon >/home/iip01.log第二个先杀掉 inmon进程再运行df -k >> /home/iip01.logdf -i >>/home/iip01.log

有两种方式:1、直接使用python xxxx.py执行.其中python可以写成python的绝对路径.使用which python进行查询.2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which python查询来的结果.然后在外面就可以使用./xxx.py执行了.因为在linux中,python啊shell这些程序都是普通的文本格式,都需要一种程序去解释执行它.要么调用的时候指定,要么在文件头指定.

把前一个命令的输出重定向到一个临时文件(如果你所谓的“没有任何输出”包含错误信息的话,重定向时记得还要加上标准错误)再查看临时文件的大小,如果文件为空,则执行下一条命令

wget touch finished } func & sleep 3000 if [ -f finished ] then echo "finished" else echo "not finished" fi rm -f finished 建议阅读linux相关书籍 比如说《linux就该这么学》.

sh -x abc_stop | tee abc.logsh -x 调试脚本执行过程 tee abc.log 读取标准输入的数据,并将其内容输出成abc.log文件

楼主是在看fork函数么?fork函数在linux内核中是一个系统调用封装出来的,这个系统调用的进行的动作简单地说是:创建一个新的进程控制块pcb并进行初始化,申请内存然后复制父进程的运行空间到新的内存空间(确切叫地址空间),然后形成了两个进程,并且子进程的pc指针在fork函数处(**),子进程于是开始在这之后的下一条语句继续执行(大部分是exec函数).所以楼主的问题的答案就是在执行fork之后,自子进程开始执行,是创建处.

方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码代码如下:cd /data/shell./hello.sh./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.nnpc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com