Linux-一次执行多个命令 ; && ||

一次执行多个命令,多个命令之间用;号隔开

cmd1;cmd2;cmd3

这样前后执行的时候没有依赖性,如果有下列要求呢

1. cmd1执行失败那就不要执行后面的命令

2. cmd1失败了才去指令后面的命令

针对第一个问题,需要使用 && 来连接命令,cmd1 && cmd2 当cmd1执行成功,即$?为0的时候才执行cmd2,否则不执行cmd2

针对第二个问题需要使用 || 来连接命令,cmd1执行失败的时候才执行cmd2

时间: 2024-10-14 02:33:39

Linux-一次执行多个命令 ; && ||的相关文章

对多台Linux主机的执行相同的命令

最近在学习Linux集群的相关知识,实验中经常会在一大批主机上安装相同软件包.或者添加相应的配置信息,花了一点时间,写了一个shell脚本,虽然很拙劣,但还是可以满足现在的需求了,如果以后有其他需求的话,在考虑修改这个脚本的-- 控制主机:VS            192.168.2.131 被控主机1:RS1        192.168.2.132 被控主机2:RS2         192.168.2.133 #!/bin/bash # #FileName:cluster_cmd ###

在Linux中定时执行一个程序的方法之at命令

/*********************************************************************  * Author  : Samson  * Date    : 04/29/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

Linux 千万不要执行的10个命令

1. rm -rf 命令 rm -rf命令是删除文件夹及其内容最快的方式之一.仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏.下列是一些rm 命令的选项. rm 命令在Linux下通常用来删除文件. rm -r 命令递归的删除文件夹,甚至是空的文件夹.(译注:个人认为此处应该是说错了,从常识看,应该是“甚至是非空的文件夹”) rm -f 命令能不经过询问直接删除‘只读文件’.(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限.所以,-f这个参数只是表示不必

linux下通过命令启动多个终端执行相应的命令和程序

    作者:张昌昌 在一些情况下,往往需要同时启动多个终端并让终端执行自动执行相应的命令,进而达到提高操作效率的目的.在linux下gnome-terminal启动终端命令, gnome-terminal -x 后跟执行的命令,bash是linux启动子shell的命令,bash -c "所要执行的命令串",通过嵌套gnome-terminal -x bash -c ......,表示启动新终端, 并在新启动的终端里执行bash -c,即启动子shell,由子shell执行-c后面的

Linux 连续执行多条命令

每条命令使用";"隔开,则无论前边的命令执行成功与否都会继续执行下一条命令 这里,故意将第二条命令中的echo多写了一个o,命令执行出错,但并不影响后续命令的执行 可以这么想,如果用分号来间隔命令,就相当于将命令分隔在了不同的行,无论前一行的命令成功或失败,都不影响下一行命令的执行. $ echo 1; echoo 2; echo 3; echo 4 1 -bash: echoo: command not found 3 4 若命令间使用"&&"隔开

Linux for循环执行命令注意事项

如果for循环命令中带有一些符号,需要用()括起来. for i in {1..4}; do (python /data/UGCRobot/manage/Scheduler.py 1.log > /dev/null 2>&1 &); done Linux for循环执行命令注意事项

linux shell 执行多个命令的几种方法

在命令行可以一次执行多个命令,有以下几种: 1.每个命令之间用;隔开 说明:各命令的执行给果,不会影响其它命令的执行.换句话说,各个命令都会执行, 但不保证每个命令都执行成功. 2.每个命令之间用&&隔开 说明:若前面的命令执行成功,才会去执行后面的命令.这样可以保证所有的命令执行完毕后,执行过程都是成功的. 3.每个命令之间用||隔开 说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功 一条命令为止. linux shell 执行多个命令的几种方法

在Linux使用exec执行命令时报的哪些错

问题1:find: paths must precede expression [[email protected] data]# find /oracle/backup/exp/data -name exp_table01_db01_*.dmp.gz -atime +2 exec rm -rf {}\;find: paths must precede expression: exp_table01_db01_20170928235039.dmp.gz 描述:在执行find命令时,在查找的内容必

Linux 连续执行多条命令的方法

多个命令可以放在一行上,其执行情况得依赖于用在命令之间的分隔符. 如果每个命令被一个分号 (;) 所分隔,那么命令会连续的执行下去,如: 引用 [email protected]:/proc> printf "%s/n" "This is executed" ; printf "%s/n" "And so is this"This is executedAnd so is this 如果每个命令被 && 

[每天一个Linux小技巧] gdb 下一次执行多个命令

一般gdb执行的时候,我们只能输入一个命令. 如: (gdb) c (gdb) bt 如果想执行多个命令怎么办? 是否能像bash那样, 使用; 如 ls; ls 结论是不行. 但可以通过gdb 内建函数的的方式来实现: (gdb) def cbt >c >bt 10 >end (gdb) 也可以追加到 $HOME/.gdbinit下, 每次启动gdb后会自动加载. [每天一个Linux小技巧] gdb 下一次执行多个命令