1

SHORT:如何显式设置当前工作目录?

LONG:所以我有 52 个程序菊花链在一起。我有一个运行良好的 shell 脚本管道。唯一的问题是,如果我 cd 进入包含文件的目录并运行它,我只能运行它。一些子程序没有允许我显式设置输出目录的机制。他们将所有内容转储到当前工作目录中。如果您正在运行此管道的 1 个实例,这很好,但如果您尝试一个接一个地处理十几个数据集,则不是很好。我知道我可以通过以下方式获取当前工作目录:

回声 $PWD

但是我该如何设置呢?

4

1 回答 1

0

您可以为管道中的各个程序设置当前目录,而不会影响管道中的其他程序,如下所示:

PWD=path1 command1 && PWD=path2 command2

通常,您可以使用该语法设置任何环境变量。这是我在 bash 中尝试的一个真实示例:

$ PWD=/home ./test.rb && PWD=/ ./test.rb 
Running in /home
Running in /
于 2016-12-27T18:25:41.677 回答