BOoRFGOnZ 发表于 2005-3-15 20:24:23

如何在一个分开的shell中执行命令

要在分开的shell中执行一组命令,一种最简单的途径就是使用括号:
(list;)
list是将要在分开的shell(称为子shell)中执行的命令,list中的命令对工作目录(通过调用cd命令)或环境变量的修改不会影响到调用list的脚本。
作为一个例子,下面的函数可以确定一个目录的绝对路径,而不用改变当前的工作路径:
abspath () { ( cd "$1" && pwd ; ) ; }

zhy2111314 发表于 2005-3-17 07:39:01

{}则是在当前shell中执行命令
看下面例子:

zhyfly: ~$ a=1;echo $a;( a=2; );echo $a
1
1
zhyfly: ~$ a=1;echo $a;{ a=2; };echo $a
1
2
页: [1]
查看完整版本: 如何在一个分开的shell中执行命令