OpenBSD如何在命令行上一次执行多个命令

OpenBSD的安装、升级、更新等日常问题。

版主: chenjun天地乾坤

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

OpenBSD如何在命令行上一次执行多个命令

帖子 leo » 2011-03-16 7:05

以前只知道有个 &&, shell现学现卖:

在shell里可以在命令行上一次执行多个命令,方法是将多个命令用分号 ”;“隔开,系统将依次执行每条命令。例如:

代码: 全选

# find / -name sshd_config ; pwd
相当于系统将依次执行

代码: 全选

# find / -name sshd_config

代码: 全选

# pwd

如果将分号更换为 & ,则系统将在后台执行 & 前面的命令,也就是说shell不用等前面的命令完成就可以执行下一个一个命令。
例如:

代码: 全选

# tar zcf src.tar.gz /usr/src & touch gobsd
shell将在后台打包压缩 /usr/src 这个目录,并不用等前面的打包压缩完成立即开始创建文件gobsd。

chenjun
铁 Fe
帖子: 56
注册时间: 2010-08-31 17:38

帖子 chenjun » 2011-03-16 8:38

学习了,我输入多个命令时用的都是&&,例如:

代码: 全选

# find / -name sshd_config && pwd
又学了一招:D

wkx9dragon
锌 Zn
帖子: 493
注册时间: 2010-02-02 18:00

帖子 wkx9dragon » 2011-03-16 11:04

一个&表示后台运行,两个&&表示,前一个执行成功,才执行下一个命令。初略的说,&和;相似,| 和&&相似。如果想每个命令独立运行,并且互不相关,用;最好了,如果讨厌一堆运行输出,用一个&.
如果想命令一个接一个的执行,并且只有当前一个命令执行成功,后一个才执行,用两个&&,但是如果后一个命令需要前一个的结果输出的话,用|(管道),或<<,>>,[不止一个输出作为后一个的参数的话,还要xargs配合]。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2011-03-16 11:24

总结的如此精辟,佩服s。

chang
钛 Ti
帖子: 26
注册时间: 2011-03-17 9:10

回复: OpenBSD如何在命令行上一次执行多个命令

帖子 chang » 2011-04-03 10:59

嘿嘿,用到,学习了

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 2 访客