显式设置当前目录(管道shell)

时间:2016-12-27 18:18:29

标签: pwd

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

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

echo $ PWD

但我该如何设定呢?

1 个答案:

答案 0 :(得分:0)

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

PWD=path1 command1 && PWD=path2 command2

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

$ PWD=/home ./test.rb && PWD=/ ./test.rb 
Running in /home
Running in /