更改命令的默认目录

更改命令的默认目录

我有两个程序位于abc不同的目录中(/dir1//dir2/)。每个目录都包含其他程序。通常,我希望dir1在之前搜索命令dir2。但是,在的情况下,我希望默认执行abc中的版本。我该如何实现这一点?dir2

我尝试过aliasing via,alias abc="/dir2/abc"但是如果命令由另一个程序调用,则不起作用。如何让它成为每次有人尝试调用时的默认设置abc

答案1

这个问题已在另一个 stackexchange 网站上得到解答。以下是感兴趣的人可以参考的解决方案:

https://unix.stackexchange.com/questions/228701/change-the-default-directory-of-one-specific-program-without-changing-its-path

以下是对我有用的选项(引用自答案):

选项 1:在你的路径上创建一个覆盖文件夹

如果您需要以间接方式调用这些程序(例如,由窗口管理器启动的某些应用程序将调用 g++ 或 python),则应编辑路径。您只需在 ~/.bashrc 中的路径开头添加一个新文件夹即可:

export PATH=/home/username/.bin:$PATH 并放置两个符号链接指向适当的程序:

ln -s /usr/bin/python /home/username/.bin/python ln -s /usr/local/bin/g++ /home/username/.bin/g++ 这样,一旦您的 ~/.bashrc 被正确获取(注销,然后重新登录),一切都应该找到正确的 python 和正确的 g++。

相关内容