
在一行中运行两个或多个命令可以节省大量时间,并在Linux中提高效率。在Linux中,有三种方法可以在一行中运行多个命令。 ; Command 1 ; Command 2 首先运行Command1,然后运行Command2 && Command 1 && Command 2 当Command1运行成功并结束,然后运行Command2 || Command 1 || Command 2 当Command1运行失败时才运行Command2 其中最简单的是分号(;),使用方式如下:cmd1; cmd2; cmd3 <以上代码可复制粘贴,可往左滑>cmd1将首先运行,不管cmd1运行成功还是出现错误,cmd2都会在它之后运行,当cmd2命令完成时,cmd3将会运行。[root@localhost ~]# mkdir /root/new_folder; cd /root/new_folder; touch test_file; pwd ; ls -l /root/new_folder total 0 -rw-r--r--. 1 root root 0 Sep 2 22:01 test_file [root@localhost new_folder]# <以上代码可复制粘贴,可往左滑>在上面命令汇总,首先mkdir创建了一个文件夹在/root目录中,cd 进入前面创建的目录,touch创建一个空文件,然后pwd显示当前位置,ls -l查看目录中的文件。 ![]() 分号(;)后面的空格可带可不带,但空格使命令行更容易读懂。 cmd1 && cmd2 && cmd3 如果你使用基于Centos的发行版,你一定遇到过这个使用&&概念的命令:[root@localhost ~]# yum makecache && yum -y update <以上代码可复制粘贴,可往左滑>命令行汇总的前半部分时更新缓存,后半部分更新所有安装包。 举个例子,如果new_folder已经存在,那么mkdir命令将返回错误。; 和&& 的差异可以在下面的截图中看到: ![]() 使用 || 符号运行多条命令可以使用逻辑操作符(||)运行命令行,但是只有在前一个命令出现错误时才运行下一个命令:cmd1 || cmd2 || cmd3 <以上代码可复制粘贴,可往左滑>如果cmd1运行失败,则运行cmd2。如果cmd2运行成功,cmd3将不会运行。 ![]() 合并&&和||运算符例如,可以检查文件是否存在,并相应地打印消息。[root@localhost ~]# [ -f file.txt ] && echo "File exists" || echo "File doesn't exist" <以上代码可复制粘贴,可往左滑>在创建file.txt文件之前和之后运行上面的命令,看看区别: ![]() |