Kali Linux安装中无法设置环境路径变量

Kali Linux安装中无法设置环境路径变量

我在我的linux机器上下载了flutter和Android studio。这是一个kali linux安装。我想为 android studio 和 flutter 永久添加环境路径变量,这样,当我启动 shell 时,我不必每次都添加它们。我想添加到所有用户。我做了一些搜索,发现/etc/profile如果您想为所有用户执行此操作,则必须添加路径。但似乎没有任何效果。

文件的原始内容

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "`id -u`" -eq 0 ]; then
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
    PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
export PATH

if [ "${PS1-}" ]; then
    if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
        # The file bash.bashrc already sets the default PS1.
        # PS1='\h:\w\$ '
        if [ -f /etc/bash.bashrc ]; then
            . /etc/bash.bashrc
        fi
    else
        if [ "`id -u`" -eq 0 ]; then
            PS1='# '
        else
            PS1='$ '
        fi
    fi
fi

if [ -d /etc/profile.d ]; then
    for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
            . $i
        fi
    done
    unset i
fi

:我在第 4 行的 else 之后添加了使用 a 分隔的路径,如下所示

PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/user1/Flutter/flutter/bin:/home/user1/android-studio/bin"

保存文件并重新启动机器,然后执行

echo $PATH

在 shell 中,但输出如下:

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

然后我尝试了不同的方法删除了之前的更改并添加了

PATH=$PATH:/home/user1/Flutter/flutter/bin:/home/user1/android-studio/bin

就在导出路径之前,保存重新启动机器,它也不起作用。该echo $PATH命令打印与上述相同的路径。

我如何完成我想要完成的事情。我在这个网站上看过几个类似的问题,大多数都建议我上面所做的事情。我做错了什么吗?

编辑.profile这是我的用户目录中 的内容。我只有一个用户。

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

答案1

我最近也遇到了这个问题。 Kali Linux 的默认 shell 现在是zsh.我们需要将

export PATH="$PATH:/path/to/"

代替.zshrc。然后在实施更改后

source ~/.zshrc

通过 查看 PATH echo $PATH,您将看到更新后的 PATH。通过重新启动 shell 进行验证。

答案2

将以下行添加到您的/etc/environment

PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/user1/Flutter/flutter/bin:/home/user1/android-studio/bin

解释于Debian 维基

将所有全局环境变量(即影响所有用户的变量)放入/etc/environment

记住,该文件由 PAM 读取,而不是由 shell 读取。您不能在此处使用 shell 扩展。例如MAIL=$HOME/Maildir/ 不管用!

除了 PAM 可以处理的琐碎情况之外,对于如何为所有用户配置环境的问题,没有与 shell 无关且与登录无关的解决方案。

您可以注销然后登录或source /etc/environment

答案3

最近的 Kali 发行版 2021.1 可用于$PATH更新~/.profile.

只需添加PATH=$PATH:"/replace/with/your/path"~/.profile

注销并登录或输入source ./profile您的主目录。

使用命令检查您的环境env

你应该看到类似下面的内容

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/replace/with/your/path

相关内容