&& 运算符
基础格式:
commad1 && commad2
表示左边commad1 命令执行成功后,&& 后面commad2 命令才会被执行。
dg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ ls
shell test.txt
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ pwd
/home/zdg/source
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ cd /home/zdg/source/ && rm test.txt
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ ls
shell
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$
如果commad1 命令没被执行成功,&& 后面的commad2 命令不会被执行。
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ pwd
/home/zdg/source
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ ls
shell test.txt
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ cd source && rm test.txt
bash: cd: source: 没有那个文件或目录
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$
||运算符
|| 与&& 相反
基础格式:
commad1 || commad2
如果commad1 执行没成功,则执行||后面的commad2
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ ls
shell
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ cp test.txt shell || echo "cp failed"
cp: 无法获取'test.txt' 的文件状态(stat): 没有那个文件或目录
cp failed
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$
如果commad1执行成功,则不执行||后面的commad2
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ ls
shell test.txt
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$ cp test.txt shell || echo "cp failed"
zdg@zdg-Lenovo-ideapad-Y700-14ISK:~/source$