ubuntu18.04安装开源软件并修改.bashrc后which无法查看其路径

我们是菜鸟,很想起飞,请多点耐心关注和指点
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
lizq16
帖子: 13
注册时间: 2019-03-11 14:33
系统: Ubuntu 18.04.2
送出感谢: 7 次
接收感谢: 0

ubuntu18.04安装开源软件并修改.bashrc后which无法查看其路径

#1

帖子 lizq16 » 2019-03-15 21:29

我在ubuntu18.04使用管理员账户(只建立了这一个账户)自己编译安装了开源软件Open Babel(化学软件),安装完成后,在.bashrc里添加alias obabel=“路径” 指向该软件的执行文件,直接通过命令行输入obabel能正常使用该软件。但是现在有另外一个程序要调用这个软件,却提示obabel:not found(该程序已经正常配置,而且能调用其它软件而不出错)。于是我使用which obabel命令,发现没有显示obabel所在路径,whereis obabel也是如此。
我还使用了一个解压后修改.bashrc即可使用的程序Multiwfn,命令行直接输入Multiwfn使用没有问题,但which Multiwfn仍不能显示该程序路径。而我试了一下我编译的其他程序和一些解压即可使用的程序,which *却能正确指示程序所在路径。

请问为何有些软件我直接在命令行使用正常,而which * 找不到其路径?我该怎么做才能使which obabel指向其路径,而且让其它软件能够调用它?
头像
astolia
论坛版主
帖子: 3640
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 609 次

Re: ubuntu18.04安装开源软件并修改.bashrc后which无法查看其路径

#2

帖子 astolia » 2019-03-15 22:52

你错误理解了alias的功能。alias是对shell的配置,只会对shell本身起效。其他软件根本不会去理它。
你输入一个不带路径的命令,默认的搜索路径是根据PATH环境变量里的路径顺序。你可以用echo $PATH查看,多个路径用:分隔
所以你有两个选择,一是把你程序的路径加入PATH环境变量

代码: 全选

export PATH=$PATH:你的程序所在目录
需要放到~/.profile里并重登录才起效
二是在PATH中的某个路径下面建立一个到你程序的软链接或启动脚本。

代码: 全选

ln -s 程序路径 /usr/local/bin/obabel
这些用户感谢了作者 astolia 于这个帖子:
lizq16 (2019-03-15 23:17)
评价: 3.7%
lizq16
帖子: 13
注册时间: 2019-03-11 14:33
系统: Ubuntu 18.04.2
送出感谢: 7 次
接收感谢: 0

Re: ubuntu18.04安装开源软件并修改.bashrc后which无法查看其路径

#3

帖子 lizq16 » 2019-03-16 10:46

astolia 写了:
2019-03-15 22:52
把你程序的路径加入PATH环境变量

代码: 全选

export PATH=$PATH:你的程序所在目录
需要放到~/.profile里并重登录才起效
多谢赐教,执行上述操作后问题已经解决。
另外能否请求移步回答一下下面的问题呢?
https://forum.ubuntu.org.cn/viewtopic.p ... 7#p3213807
使用的为Ubuntu 18.04.2默认的gnome桌面环境,打开软件后,拖动可执行文件到软件窗口,并没有打开该文件(无任何反应)。该软件带图形界面,支持拖动打开操作(另一个安装Xfce桌面环境的Ubuntu18.04,执行拖动文件到软件窗口使用正常)。请问是gnome不支持这样的操作吗?如果支持,该如何设置呢?
回复

回到 “初学者园地 - Ubuntu 18.10 (Cosmic Cuttlefish)”