내 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