Java教程

shell脚本-关于( )和{ }

本文主要是介绍shell脚本-关于( )和{ },对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

(CMD1;CMD2;...)和{CMD1;CMD2;...;}都可以将多个命令组合到一起,批量执行

 

 ( list ) 会开启子shell,并且list中变量赋值以及内部命令执行后,将不再影响后续的环境

{ list; } 不会开启子shell,在当前shell中运行,会影响当前shell环境

例:

[root@CentOS7 data]# echo $BASHPID;name=mage;echo $name;(echo $BASHPID;name=wang;echo $name);echo $BASHPID;echo $name
1491
mage
2199      #()会开启子shell,前后可以不用空格,()内最后一个命令可以不需要加;
wang
1491
mage
[root@CentOS7 data]# echo $BASHPID;name=mage;echo $name;{ echo $BASHPID;name=wang;echo $name; };echo $BASHPID;echo $name
1491
mage
1491      #{  }不会开启子shell,前后需要空格,所有命令后需要加;
wang
1491
wang
[root@CentOS7 data]# umask;(umask 066;touch f1.txt);ll f1.txt;umask
0022
-rw------- 1 root root 0 Jan  8 13:38 f1.txt
0022
[root@CentOS7 ~]# (cd /data;pwd;ls);pwd
/data
a.txt  f1.txt
/root
[root@CentOS7 ~]# { cd /data;pwd;ls; };pwd
/data
a.txt  f1.txt
/data
[root@CentOS7 data]#

 

这篇关于shell脚本-关于( )和{ }的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!