这可能是一个重复的问题,但我无法与任何以前的答案联系起来。我基本上想从 ubuntu 16.04 中的任何地方运行我的 shell 脚本(无论我是否在放置 shell 脚本的目录中)。
我知道第一种方法,即将 shell 脚本放在目录中/home/user/bin
(该目录已在 中设置$PATH
),更改 shell 脚本权限模式,最后通过重新启动终端重置 bash。这样一切都正常了。
但是,因为我想学习如何自己设置环境,所以/home/user/bin
我想使用自己创建的目录而不是使用。
因此,我将 shell 脚本放在新创建的/home/workspace/myproject/bin
目录中,当然,我更改了它的模式。然后运行以下命令:
echo $PATH
然后,修改$PATH
变量如下:
PATH="/echo/command/result:/home/workspace/myproject/bin"
然后,设置环境:
source /etc/environment && export PATH
但它不起作用!
更新
我知道我也可以通过编辑~/.profile
文件来实现这一点。但我的目标是直接从终端执行此操作,而不必打开和编辑文件。您可以看到为什么在完成编写 shell 脚本后立即连续使用两个命令要快得多,对吧?
要明确的是:我想知道为什么重置/etc/environment
不起作用?
答案1
将其添加到 ~/.profile 的末尾
它检查该目录是否存在,如果存在,则将其添加到现有路径中。
# set PATH so it includes user's private /workspace/myproject/bin if it exists
if [ -d "$HOME/workspace/myproject/bin" ] ; then
PATH="$HOME/workspace/myproject/bin:$PATH"
fi
然后注销并重新登录。