为什么我必须输入 source env.sh 才能使用名为 Madagascar 的地球物理处理软件?
Why do I have to type source env.sh before I can use a geophysical processing software called Madagascar?
最近在Ubuntu1904安装了一个地球物理处理软件,叫Madagascar,程序安装很顺利,没有遇到什么问题。问题是为了使用马达加斯加的任何程序,我需要在马达加斯加目录中。在任何事情之前必须键入 source env.sh
以启用马达加斯加的环境变量。我试图在 .bashrc
和 .profile
中添加以下行,但我仍然需要成为 Madagascar 目录,并且在执行任何其他操作之前需要键入 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=
有人可以帮助我如何正确添加此程序的路径,以便我可以从任何目录使用 Madagascar。
问候
您应该删除所做的更改(它们既多余又错误),而只需添加
source $HOME/madagascar-2.0/env.sh
到您 shell 的一个交互式启动文件的末尾。哪一个取决于您的 Bash 配置的精确程度,但如果您有 .bash_profile
,请尝试,否则可能 .bashrc
.
更详细地说,Bash 根据 shell 是否为登录 shell and/or 交互式 shell 读取不同的启动文件。理想情况下,这应该在交互式登录中完成 shell - 登录因为你只想做一次(subshells 希望继承这些设置)和交互式因为你只想要并且需要 运行 这是在交互式会话中。但同样,究竟什么会起作用还取决于 env.sh
包含的内容。
您的 PATH
不应该包含 env.sh
因为它应该包含目录,而不是文件名;并且大概 env.sh
负责实际更新 PATH
。您的 shell 的配置几乎肯定已经包含 export PATH
,因此也无需再次(多次!)。
最近在Ubuntu1904安装了一个地球物理处理软件,叫Madagascar,程序安装很顺利,没有遇到什么问题。问题是为了使用马达加斯加的任何程序,我需要在马达加斯加目录中。在任何事情之前必须键入 source env.sh
以启用马达加斯加的环境变量。我试图在 .bashrc
和 .profile
中添加以下行,但我仍然需要成为 Madagascar 目录,并且在执行任何其他操作之前需要键入 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=
有人可以帮助我如何正确添加此程序的路径,以便我可以从任何目录使用 Madagascar。 问候
您应该删除所做的更改(它们既多余又错误),而只需添加
source $HOME/madagascar-2.0/env.sh
到您 shell 的一个交互式启动文件的末尾。哪一个取决于您的 Bash 配置的精确程度,但如果您有 .bash_profile
,请尝试,否则可能 .bashrc
.
更详细地说,Bash 根据 shell 是否为登录 shell and/or 交互式 shell 读取不同的启动文件。理想情况下,这应该在交互式登录中完成 shell - 登录因为你只想做一次(subshells 希望继承这些设置)和交互式因为你只想要并且需要 运行 这是在交互式会话中。但同样,究竟什么会起作用还取决于 env.sh
包含的内容。
您的 PATH
不应该包含 env.sh
因为它应该包含目录,而不是文件名;并且大概 env.sh
负责实际更新 PATH
。您的 shell 的配置几乎肯定已经包含 export PATH
,因此也无需再次(多次!)。