Linux一行执行多个命令

主要有三种用法

1、命令之间用分号分隔
所有命令不管对错都会执行一次,下面的例子中第二条命令错误,但第三条命令仍然执行

adam@hnn:~$ echo welcome; echo2 my; echo friend
welcome
No command 'echo2' found, did you mean:
Command 'echo' from package 'coreutils' (main)
echo2: command not found
friend

2013-05-09,第2个和第三个用法,下面的举例没有什么实际意义,还是鸟哥的书上面的例子比较好

2、命令之间用&&分隔

第一条命令执行成功后,才会执行后续的命令。
如果某条命令执行时发生错误,它后面的命令不会执行。
下面的例子中第二条命令错误,第三条命令不会执行

如果存在~/downloads文件夹,创建index.txt文件

adam@hnn:~$ ls ~/download && touch ~/download/index.txt
adam@hnn:~$ ls ~/download/index.txt
/home/adam/download/index.txt

adam@hnn:~$ echo welcome && echo2 my && echo friend
welcome
No command 'echo2' found, did you mean:
Command 'echo' from package 'coreutils' (main)
echo2: command not found

3、命令之间用||分隔
如果第一条命令执行失败,才会执行后续的命令。

如果成功执行一条命令,后面的所有命令都不会执行。
下面的例子中,第一条命令执行成功,后面的命令就不执行了。

如果不存在~/.bash_profile,就创建此文件
adam@hnn:~$ ll .bash*
-rw------- 1 adam adam 33884 May 7 22:49 .bash_history
-rw-r--r-- 1 adam adam 220 Oct 7 2012 .bash_logout
-rw-r--r-- 1 adam adam 3553 Dec 16 08:36 .bashrc
--没有.bash_profile文件
adam@hnn:~$ ls ~/.bash_profile | touch .bash_profile
--文件已经创建
adam@hnn:~$ ls .bash_profile
.bash_profile


adam@hnn:~$ echo welcome || echo2 my || echo friend
welcome

Comments are closed.