我想启动一个进程(从 bash 脚本),其可执行文件位于当前目录内,在另一个目录 $dir
中(nohup
类似于 Windows cmd
开始/D
)。如何在 bash 中做这样的事情?
最佳答案
如果您希望进程从 $dir
执行,只需执行以下操作:
( cd $dir; ~-/cmd)
其中 cmd
是当前目录中您要执行的可执行文件的名称。括号使这两个命令在子 shell 中运行,以便当前 shell 不会更改目录,并且 ~-
引用先前的目录。如果当前目录位于 PATH
中,则不必使用 ~-
,并且您可能更愿意使用完整路径。请注意,将 .
放入 PATH
中通常被认为是不好的做法。
关于bash - cmd START/D 和 nohup 的 bash 模拟是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17107267/