【发布时间】:2013-06-14 11:18:01
【问题描述】:
我想启动一个进程(来自 bash 脚本),其可执行文件位于当前目录中,另一个目录 $dir(nohup windows 模拟 cmdSTART /D)。如何在 bash 中做这样的事情?
【问题讨论】:
我想启动一个进程(来自 bash 脚本),其可执行文件位于当前目录中,另一个目录 $dir(nohup windows 模拟 cmdSTART /D)。如何在 bash 中做这样的事情?
【问题讨论】:
如果您希望进程从$dir 执行,只需执行以下操作:
( cd $dir; ~-/cmd)
其中cmd 是您希望执行的当前目录中的可执行文件的名称。括号使这两个命令在子 shell 中运行,因此您当前的 shell 不会更改目录,并且 ~- 引用前一个目录。如果您的当前目录位于PATH 中,则无需使用~-,您可能更喜欢使用完整路径。请注意,将. 放在您的PATH 中通常被认为是不好的做法。
【讨论】:
nohup ( cd $dir; ~-/cmd --arg1="2")?
( cd $dir; nohup ... )将输出文件放入$dir