。作为在后台运行的命令的命令行参数

。作为在后台运行的命令的命令行参数

我跑grep some-string -r . &。当它在 bkg 中运行时,我cd转到另一个目录。看来对grep硬链接的解释.不同。更改当前目录之前和之后会发生什么?会不会原目录和新目录都查不完整?

我想知道.作为命令的命令行参数是否仅在运行命令开始时取消引用,或者在程序运行期间每次使用它时都取消引用?

答案1

每个进程都有自己的“当前工作目录”,无法从进程外部更改。

所以当你这样做时

grep some-string -r . &

你的 shellgrep在后台启动,并且grep的当前工作目录被初始化为与 shell 的相同值在那一刻。这里grep的定义.是它自己的当前目录,而不是其他任何目录; shell 不参与参数的解释。

随后使用更改 shell 的目录cd不会影响grep...

相关内容