简介:如何显式设置当前工作目录?
LONG:所以我有52个程序菊花链在一起。我有一个很好的shell脚本管道。唯一的问题是我只能运行它,如果我进入带有文件的目录并运行它。某些子程序没有允许我显式设置输出目录的机制。他们将所有内容转储到当前工作目录中。如果你正在运行这个管道的一个实例,这很好,但如果你试图一个接一个地处理十几个数据集,那就没那么好了。我知道我可以通过以下方式获取当前的工作目录:
echo $ PWD
但我该如何设定呢?
答案 0 :(得分:0)
您可以为管道中的各个程序设置当前目录,而不会影响管道中的其他程序,如下所示:
PWD=path1 command1 && PWD=path2 command2
通常,您可以使用该语法设置任何环境变量。这是我在bash中尝试过的一个真实例子:
$ PWD=/home ./test.rb && PWD=/ ./test.rb
Running in /home
Running in /