首先了解下背景知识。

命令生效顺序

Linux系统下命令生效的顺序有以下4条:

  1. 绝对路径或相对执行的命令;

  2. 别名;

  3. Bash的内部命令;

  4. 按照$PATH环境变量定义的目录查找顺序搜到的第一个命令。

实际shell脚本编写过程中,总会有这么一个场景,

#!/bin/bash
file=command1
command2 $file
​

下一条命令command2执行所需要的参数或者需要涉及的文件,是由上一条命令command1执行的结果产生的。

而command执行需要的时间可能要1分钟,但是个人实践之后认为shell脚本中的命令都是顺序执行的

这时候就需要我们等待着command1执行完在执行command2。

  • 1 &&

shell1 && shell2 && shell3
  • 2 若有for循环 在循环体之后使用wait sleep

#!/bin/bash
​source ~/.bashrc
​fun(){
​echo "fun is begin.timeNum:$timeNum"
​local timeNum=$1
​sleep $timeNum &
​​wait #这个只等待wait前面sleep
​echo "fun is end.timeNum:$timeNum"
​}
  • 3

#!/bin/sh
command 1
output=`command 2`
command 3
  • 4

#!/bin/bash
for ((i=0;i<5;i++))
do
sleep 3;echo a
done
​
#运行需要15秒。
​
​
#!/bin/bash
for ((i=0;i<5;i++))
do
{
sleep 3;echo a
} &
done
wait
​
#打开5个子进程并行,运行只需要3秒。

shell脚本中等待上一条命令执行结束在执行下一条。相关推荐

  1. shell脚本中判断上一条python命令执行情况

    shell脚本中判断python命令执行结果 python脚本main.py import sys def main():try:"执行相关操作"sys.exit(0)except ...

  2. shell脚本中判断上一个命令是否执行成功

    2018-12-21 shell中使用符号"$?"来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败. 结合if-else语句实现判断上一个命令是否执行成功 示例如 ...

  3. linux shell脚本 wget,bash – 在shell脚本中运行wget和其他命令

    以下是编写shell脚本时要使用的一些准则. >使用它们时始终引用变量.这有助于避免误解的可能性. (如果文件名包含空格怎么办?) >不要相信像rm这样的命令上的文件加载.请改用循环. ( ...

  4. Linux Shell脚本中压缩包解压到目标目录下

    在Linux Shell脚本中,把一个压缩文件解压到目标目录下,使用如下代码: tar -xvf server.tar -C /opt/ 上述命令实现了把当前目录下的server.tar的压缩包,解压 ...

  5. linux shell alias,Linux shell脚本中使用alias定义的别名

    核心知识点 shopt 开启和关闭 alias 扩展 交付模式默认是开启的,脚本的默认是关闭的 alais 扩展的名称是 expand_aliases alias 定义 在当前session中,可以直 ...

  6. linux sftp账号密码脚本传文件,关于shell:如何使用Bash脚本中的密码运行sftp命令?...

    我需要从Linux主机使用sftp将日志文件传输到远程主机.我的操作组已为我提供了相同的凭据.但是,由于我无法控制其他主机,因此无法生成RSA密钥并与其他主机共享. 那么,有没有一种方法可以通过cro ...

  7. (shell脚本编程)linux如何利用脚本执行多条命令以及linux如何执行定时任务

    文章目录 shell脚本编程 条件语句 脚本执行多条命令 执行定时任务 本文着重于提高我们的生产力,所以将这几个作为了一个专题. shell脚本编程 脚本中不同语句用分号隔开,和c语言一样. for, ...

  8. 69:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

    2019独角兽企业重金招聘Python工程师标准>>> 1.shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断. ...

  9. 在 Shell 脚本中跟踪调试命令的执行

    文章目录 shell 脚本调试系列 概述 shell 跟踪执行的重要性 shell 脚本调试系列 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的 ...

最新文章

  1. python安装教程mac-Mac 安装python 3.*新版本的详细步骤
  2. python3网络爬虫代码_《Python3网络爬虫开发实战代码》
  3. 【机器视觉】 dev_open_file_dialog算子
  4. zsh 主题的下载和安装
  5. 勇探计算机城堡教学反思,神秘的城堡教学反思
  6. 结对项目--wordCount
  7. postgresql事务
  8. 【代码笔记】Web-CSS-CSS盒子模型
  9. python process 函数_Python使用进程Process模块管理资源
  10. AirServer7电脑桌面版一款便捷式手机电脑投屏软件
  11. 泛泰A870K去掉相机快门声音的方法
  12. 理财学习02-基金误区
  13. 模拟量万能换算公式4-20ma
  14. 【ChatGPT】从零开始构建基于ChatGPT的嵌入式(Embedding) 本地(Local) 智能客服问答机器人模型
  15. 人生无意义,才更值得过,推石上山的搏斗本身,足以充实一颗人心,认清生活的荒诞,对它报之以微笑,就是对抗荒诞的最好方式
  16. mysql中的不等于
  17. 服务器电脑上保存的文件找不到了,保存在电脑上的word文件突然找不到怎么办?该如何找回来...
  18. 深入理解pytorch分布式并行处理工具DDP——从工程实战中的bug说起
  19. cpld xilinx 定义全局时钟_FPGA/CPLD设计工具:Xilinx ISE 5.x使用详解
  20. 南京非211大学那个计算机强一点,江苏省,11所211高校都是业内翘楚,非211也很强...

热门文章

  1. 研发质量管理工作经验总结(二)----质量管理技能
  2. 阿里云购买域名实名认证及网站备案
  3. 百度云盘核心功能需求分析
  4. Spring分析之IOC原理
  5. 1837:Balance
  6. Oracle中的索引
  7. 【合辑】数字高程模型科普
  8. Anaconda中的spyder安装Terminal插件
  9. 1.(group by)如何让group by分组后,每组中的所有数据都显示出来
  10. 如何完美的转载其他博主的博文