Bash 为什么我必须先键入source env.sh,然后才能使用名为magada的地球物理处理软件?
我最近在Ubuntu 1904中安装了一个名为Madagada的地球物理处理软件。程序的安装很顺利,我没有遇到任何问题。问题是为了使用马达加斯加的任何程序,我需要在马达加斯加目录中。在进行任何操作之前,必须键入Bash 为什么我必须先键入source env.sh,然后才能使用名为magada的地球物理处理软件?,bash,ubuntu,path,environment-variables,.profile,Bash,Ubuntu,Path,Environment Variables,.profile,我最近在Ubuntu 1904中安装了一个名为Madagada的地球物理处理软件。程序的安装很顺利,我没有遇到任何问题。问题是为了使用马达加斯加的任何程序,我需要在马达加斯加目录中。在进行任何操作之前,必须键入source env.sh,以便为马达加斯加启用环境变量。我已经尝试在.bashrc和.profile中添加以下行,但我仍然需要在马达加斯加目录中,在其他任何操作之前,需要键入source env.sh来运行程序 shah@vbox:~$ echo 'export PATH=$PATH:/
source env.sh
,以便为马达加斯加启用环境变量。我已经尝试在.bashrc
和.profile
中添加以下行,但我仍然需要在马达加斯加目录中,在其他任何操作之前,需要键入source env.sh
来运行程序
shah@vbox:~$ echo 'export PATH=$PATH:/home/shah/madagascar-2.0/env.sh' >> ~/.bashrc
shah@vbox:~$ echo 'export PATH=$PATH:/home/shah/madagascar-2.0/env.sh' >> ~/.profile
shah@vbox:~$ source env.sh
bash: env.sh: No such file or directory
shah@vbox:~$ sfpen
sfpen: command not found
shah@vbox:~$ cd madagascar-2.0/
shah@vbox:~/madagascar-2.0$ source env.sh
shah@vbox:~/madagascar-2.0$ sfpen
NAME
sfoglpen
DESCRIPTION
vplot filter for OpenGL.
SYNOPSIS
sfoglpen colormask= red= green= blue= aspect= ppi= stretchy=n aalias=n aawidth=1 mono=n endpause= cachepipe= shade= wantras= window= frame= overlay= invras= txsquare= serifs= background= redpow=1.0 greenpow=1.0 bluepow=1.0 dither= greyc=1.0 pixc=1.0 txfont= txprec= txovly= xcenter= ycenter= patternmult=1. pause=0 fatmult= rotate=0 txscale=1.0 mkscale=1.0 dashscale=1.0 scale=1.0 xscale=1.0 yscale=1.0 xshift=0. yshift=0. xwmax= ywmax= xwmin= ywmin= fat=0 bgcolor= erase= break= interact= style= size=
有人可以帮助我如何正确地添加这个程序的路径,以便我可以从任何目录使用马达加斯加。
关于您应该去掉您所做的更改(它们都是多余的和错误的),而只需添加
source $HOME/madagascar-2.0/env.sh
到shell的一个交互式启动文件的末尾。哪一个取决于Bash的具体配置方式,但如果您有.Bash\u配置文件
,请尝试,否则可能是.bashrc
更详细地说,Bash根据shell是登录shell还是交互式shell读取不同的启动文件。理想情况下,这应该在交互式登录shell中完成-登录,因为您只想做一次(子shell希望继承这些设置),而交互式是因为您只想并且需要在交互式会话中运行它。但是,具体的工作方式也取决于env.sh
所包含的内容
您的
路径
不应该包含env.sh
,因为它应该包含目录,而不是文件名;大概env.sh
负责实际更新路径。您的shell配置几乎肯定已经包含导出路径
,因此也没有必要再这样做(多次!)。这听起来像是一个咆哮。我想问题是如何避免所有这些废话,但你必须向最初的开发人员了解这一点。有用的软件!=用户友好的软件。您可以提供源代码
的完整路径,如源代码~/Madagada-2.0/env.sh
。然后它是否有效取决于我们看不到的细节。非常感谢@tripleee。你的建议对我有用。祝您愉快我刚刚在.bashrc
和.profile
中添加了source~/magada-2.0/env.sh
。我不知道它到底做了什么,但好的是我可以从任何目录运行马达加斯加命令。请阅读bash
的手册页,查看source
正在做什么。