Kali Linux 설치에서 환경 경로 변수를 설정할 수 없습니다.

Kali Linux 설치에서 환경 경로 변수를 설정할 수 없습니다.

내 Linux 컴퓨터에 Flutter와 Android Studio를 다운로드했습니다. 칼리리눅스 설치입니다. Android studio 및 flutter에 대한 환경 경로 변수를 영구적으로 추가하여 셸을 시작할 때 매번 추가할 필요가 없도록 하고 싶습니다. 모든 사용자에게 추가하고 싶습니다. 검색을 좀 해보니 /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로 구분된 경로를 추가했습니다.

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

파일을 저장하고 컴퓨터를 다시 시작한 다음 실행하십시오.

echo $PATH

셸에 있지만 출력은 다음과 같습니다.

/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의 기본 쉘은 이제 zsh변경해야 합니다.

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

바꾸다 .zshrc. 그런 다음 변경 사항을 구현한 후

source ~/.zshrc

PATH를 보면 echo $PATH업데이트된 PATH를 볼 수 있습니다. 셸을 다시 시작하여 확인합니다.

답변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

에서 설명데비안 위키:

모든 전역 환경 변수(즉, 모든 사용자에게 영향을 미치는 변수)를/etc/environment

기억하다, 파일은 쉘이 아닌 PAM에 의해 읽혀집니다.여기서는 쉘 확장을 사용할 수 없습니다. 예를 들어MAIL=$HOME/Maildir/ 작동하지 않습니다!

PAM이 처리할 수 있는 사소한 경우를 제외하면 모든 사용자를 위한 환경을 구성하는 방법에 대한 문제에 대한 쉘 독립적, 로그인 독립적 솔루션은 없습니다.

로그아웃한 후 로그인하거나 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

관련 정보