我跑grep some-string -r . &
。当它在 bkg 中运行时,我cd
转到另一个目录。看来对grep
硬链接的解释.
不同。更改当前目录之前和之后会发生什么?会不会原目录和新目录都查不完整?
我想知道.
作为命令的命令行参数是否仅在运行命令开始时取消引用,或者在程序运行期间每次使用它时都取消引用?
答案1
每个进程都有自己的“当前工作目录”,无法从进程外部更改。
所以当你这样做时
grep some-string -r . &
你的 shellgrep
在后台启动,并且grep
的当前工作目录被初始化为与 shell 的相同值在那一刻。这里grep
的定义.
是它自己的当前目录,而不是其他任何目录; shell 不参与参数的解释。
随后使用更改 shell 的目录cd
不会影响grep
...