환경 변수와 셸 변수의 입구

3015 단어 LinuxCLIshelltech
Bash 등 조개껍질에는 두 가지 변수가 있다.
그것은 환경 변수와 케이스 변수다.
- 환경 변수는
현재 셸에 정의된 하위 프로세스 또는 셸 상속 변수
- 셸 변수는
정의된 셸에만 포함된 변수
이것들이 어떤 작용과 차이를 하는지 알기 위해 지령선을 사용하면서 본다.
(작성자 환경: MacOS Big Sur ver11.2.3 Bash)
변수 및 다음 명령의 동작은 설정된 하우징에 따라 달라집니다.

사용할 명령

  • printenv전체 또는 특정 환경 변수와 해당 값을 표시합니다.
    예를 들어 printenv SHELL를 입력하면 SHELL=/bin/zsh의 결과가 돌아온다.env 명령도 환경 변수를 동일하게 나열할 수 있습니다.
  • set모든 또는 특정한 셸 변수와 그 값을 표시합니다.
  • echo $変数名이 방법을 통해 특정 변수의 값을 얻을 수도 있다.
    위의 두 가지와 달리 변수 이름 앞에 $US를 입력해야 합니다.
  • 변수 설정


    새 변수를 설정하려면 터미널에 다음 명령을 입력하십시오.
    예: VAR=test변수 이름 = 이 값으로 입력하면, 변수는 케이스 안에 설정됩니다.
    설정이 맞는지 확인해 봐.set | grep VAR를 입력하면 VAR=test가 표시됩니다.
    등록된 것 같은데.
    그럼 printenv | grep VAR 어때요?
    결과는 아무런 보답도 없었다.
    셸 변수로 등록되었으나 환경 변수로 등록되지 않았습니다.

    환경 변수 설정


    export 명령을 사용하여 등록된 변수를 환경 변수로 설정합니다.export VAR그런 다음 printenv | grep VAR를 입력하면 VAR 변수가 표시됩니다.
    export VAR2=test는 한꺼번에 환경 변수로 설정할 수 있다.
    참고로 이 변수들은 파일에 등록되어 있지 않기 때문에 다시 시작하면 삭제됩니다.

    변수 삭제


    방금 설정한 환경 변수를 삭제합니다.export의 - n 옵션을 사용하여 삭제할 수 있습니다.export -n VARprintenv 결과를 보면 발견된 객체의 VAR 변수가 삭제되었습니다.
    unset 명령을 사용하여 셸 변수를 삭제합니다.unset VAR또한 unset 명령을 사용하면 대상 변수도 케이스 변수와 환경 변수에서 삭제됩니다.

    set 명령에 대한 옵션 설정하기


    조개껍질은 각양각색의 옵션을 부여받았다.
    어떤 물건이 있는지 보기 위해 set -o를 입력하면 아래 목록이 표시됩니다.
    allexport      	off
    braceexpand    	on
    emacs          	on
    errexit        	off
    errtrace       	off
    functrace      	off
    hashall        	on
    histexpand     	on
    history        	on
    ignoreeof      	off
    interactive-comments	on
    keyword        	off
    monitor        	on
    noclobber      	off
    noexec         	off
    noglob         	off
    nolog          	off
    notify         	off
    nounset        	off
    onecmd         	off
    physical       	off
    pipefail       	off
    posix          	on
    privileged     	off
    verbose        	off
    vi             	off
    xtrace         	off
    
    각 옵션의 상세한 내용은 언급하지 않지만 케이스에서 작업할 때의 편리성과 효율을 높일 수 있다.
    이러한 옵션은 각각 ON/OFF로 설정되지만 설정을 변경할 수도 있습니다.
    예를 들어, vi 옵션을 ON으로 설정하려면 set -o vi를 입력합니다.
    대신 옵션을 끄려면 set +o vi를 입력합니다.
    또한 이러한 설정은 현재 로그인 세션에서만 유지됩니다.
    구성을 영구적으로 저장하려면 뒤에 설명된 셸의 시작 파일을 편집합니다.

    시작 파일


    셸의 설정 정보는 여러 시작 파일(설정 파일)에 저장됩니다.
    케이스가 시작되면 이 시작 파일의 설정 내용을 읽을 수 있습니다.
    그럼 이 시작 파일들을 어떻게 실행합니까?
    사용자가 로그인하면 다음 순서로 처리를 시작합니다.
  • /etc/profile
  • /etc/profile.d/*.sh
  • 이 파일들은 전체 시스템의 환경 변수와 케이스 변수를 저장했다.
    시스템 전체란 모든 사용자에게 적용되는 설정이다.
  • ~/.bash_profile
  • ~/.bashrc
  • /etc/bashrc
  • .bash_소개 파일에는 특정 사용자의 환경 변수와 셸 변수가 저장되어 있습니다.
    .bashrc 파일은 bashrc 파일을 실행합니다.특정 사용자의 별명과 함수도 저장되었다.
    /etc/bashrc 파일은 시스템 전체의 별명과 함수를 저장합니다.
    이 조작을 실행한 후에야 사용자는 로그인해서 조개껍질을 시작할 수 있습니다.
    . bashrc 파일에 별명이나 함수를 추가할 때 끝에 추가해야 합니다.

    좋은 웹페이지 즐겨찾기