使用 /etc/environment 中的 bash 脚本将路径添加到 PATH 环境变量

使用 /etc/environment 中的 bash 脚本将路径添加到 PATH 环境变量

我需要将可执行应用程序的路径添加到 PATH 环境变量中。因为我需要在 .deb 包安装期间添加路径,所以我应该使用postinst 脚本在 debian 软件包中。阅读后Ubuntu 官方文档Askubuntu 问题/etc/environment由于系统范围内的用户访问,我决定使用文件来添加我的应用程序路径。这是我的 bash 脚本:

#! /bin/bash

cd ~
echo 'PATH="$PATH:/path/to/my/bin"' >> /etc/environment

/etc/environment执行 postinst bash 脚本后的内容如下:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
PATH="$PATH:/path/to/my/bin"

现在,当我注销并尝试登录时,我陷入了登录循环!

更新 1:

我在主目录中测试了 .profile 的方法,效果很好!但我需要为所有用户添加路径,所以我必须使用/etc/environment文件。

答案1

请避免修改系统文件。相反,您应该放置一个可执行脚本/etc/profile.d(此处的脚本会为每个用户执行)来更改$PATH值。

/etc/profile.d/10-<package name>.sh

#!/bin/sh
export PATH=$PATH:/path/to/executable

相关内容