在特定文件夹执行的更好方法

在特定文件夹执行的更好方法

是否可以exec在特定文件夹中进行操作,而不需要分别使用两个命令?

例如

cd /opt/folderA
exec ....

cd /opt/folderB
exec ....

答案1

更改进程当前工作目录的唯一方法是:

a)正在运行的程序通过从程序内部运行 cd 命令来改变它

b) 先 cd 到目录然后运行程序(从父 shell 的环境继承 CWD)

c) 操作 /proc/[pid]/cwd 文件。唯一可行的方法是启动一个单独的 bash shell,确定其 pid,更改上述文件(链接),然后从该 bash shell 中启动该程序。

因此,回答您的问题,除了选项 (c) 之外,没有其他方法可以绕过“cd”命令,而选项 (c) 实际上涉及的步骤比简单地先运行“cd”要多。

答案2

如果这两个命令不同,您可以将文件夹添加到您的 $PATH 环境中。

export PATH=$PATH:folderA:folderB

或者你可以使用别名

alias fromA=/opt/folderA/command
alias fromB=/opt/folderB/command

之后你可以直接使用

fromA

将其添加到您的 .bashrc 将使其永久生效。

相关内容