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

Sey*_*avi 2 package-management scripts login deb environment-variables

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

#! /bin/bash

cd ~
echo 'PATH="$PATH:/path/to/my/bin"' >> /etc/environment
Run Code Online (Sandbox Code Playgroud)

这是/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"
Run Code Online (Sandbox Code Playgroud)

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

更新1:

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

leo*_*ize 5

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

/etc/profile.d/10-<package name>.sh
Run Code Online (Sandbox Code Playgroud)
#!/bin/sh
export PATH=$PATH:/path/to/executable
Run Code Online (Sandbox Code Playgroud)