Tim*_*imD 4 command-line alias
我有一个可执行文件,我们称之为 exec。为了称为 dir 的参数,它存在于一个目录中。假设它位于文件系统根目录。我可以通过做来运行这个可执行文件
cd /dir
./exec
Run Code Online (Sandbox Code Playgroud)
如果我尝试从其他任何地方运行它,
/dir/exec
Run Code Online (Sandbox Code Playgroud)
它无法运行。从它发出的错误消息来看,它似乎试图在运行命令的目录中查找支持文件,而不是在它自己的目录中。到目前为止还不是一个大问题。但是,我想为命令添加别名,以便我可以从任何地方调用它。我可以写一个别名如下:
alias foo="cd /dir;./exec &"
Run Code Online (Sandbox Code Playgroud)
但这使我的终端留在 中/dir
,这是我不想要的。我也不想改回某个任意目录,我想留在原来的位置。
这能做到吗?
是的,启动另一个 shell:
alias foo="sh -c 'cd /dir; ./exec &'"
Run Code Online (Sandbox Code Playgroud)
或者使用子shell:
alias foo="(cd /dir; ./exec &)"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2629 次 |
最近记录: |