Shell笔记第五天 命令执行顺序

【&&】

格式: command1 && command2

command1执行成功后才会执行command2

例如 mv /home/user1 /home/backup && rm -r /home/user1

上面的命令,只有成功将目录转移后才会执行删除命令


【||】

格式: command1 || command2

command1没有执行成功的情况下执行command2

例如 

$ cp 1.txt  2.txt || echo "pre-command failed!"

cp: 1.txt no such file or directory

pre-command failed!

1.txt文件不存在,所以command1执行失败,command2被执行


【()】

格式: (command1; command2; command3)

这样可以执行一组命令,但是,这组命令会在子shell中执行

例如:

$export name=user1

$(export name=user2; echo $name)

user2

$echo $name

user1

可以看到,在子shell中,name=user2,当子shell退出后,name的值还是user1

如果不加括号的话, 会在当前shell执行这组命令,不会新开一个shell



你可能感兴趣的:(Shell笔记第五天 命令执行顺序)