子 shell 可以获取父 shell 作用域内的参数吗?

子 shell 可以获取父 shell 作用域内的参数吗?

我想在相同的数据上运行不同版本的实用程序,如下所示:

current_dir$ (cd my_utility_version_dir && exec ./my_util my_data_file)

my_util 有没有办法在 current_dir 中查找 my_data_file ?

答案1

如果你跑

(cd my_utility_version_dir && exec ./my_util "$OLDPWD/my_data_file")

然后

  1. my_util的当前工作目录 ( .) 将是my_utility_version_dir
  2. 它将被赋予my_data_file路径以前的cd工作目录 - 您退出的目录。

是否在那里寻找它取决于my_util内部的工作方式,但它接受使用路径是很常见的。

相关内容