为什么';";集合-v";好像在bash的地下室里工作?
看起来为什么';";集合-v";好像在bash的地下室里工作?,bash,shell,debugging,Bash,Shell,Debugging,看起来set-v在子shell中不起作用?为什么? (set-x在子shell中工作,但输出有点忙) 文件说: -v读取shell输入行时打印它们 在括号中编写子shell时,将读取整个子shell,然后执行它。因此,set-v命令在读取所有命令之后才会执行,因此打印这些命令为时已晚 $ cat foo.sh set -v date set +v > /dev/null 2>&1 $ bash foo.sh date Fri Mar 3 14:52:34 PST 2017
set-v
在子shell中不起作用?为什么?
(set-x
在子shell中工作,但输出有点忙)
文件说:
-v
读取shell输入行时打印它们
在括号中编写子shell时,将读取整个子shell,然后执行它。因此,set-v
命令在读取所有命令之后才会执行,因此打印这些命令为时已晚
$ cat foo.sh
set -v
date
set +v > /dev/null 2>&1
$ bash foo.sh
date
Fri Mar 3 14:52:34 PST 2017
set +v > /dev/null 2>&1
$ cat foo_subshell.sh
(
set -v
date
)
$ bash foo_subshell.sh
Fri Mar 3 14:52:42 PST 2017