Nushell
문서
쿡북
블로그
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
  • 한국어
GitHub
문서
쿡북
블로그
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
  • 한국어
GitHub
  • 소개
  • 설치하기
    • 기본 셸
  • 시작하기
    • 빠른 둘러보기
    • 시스템 이동
    • 누셸 방식으로 생각하기
    • 누셸 치트 시트
  • Nu 기본
    • 데이터 유형
    • 데이터 로드
    • 파이프라인
    • 문자열 작업
    • 목록 작업
    • 레코드 작업
    • 테이블 작업
    • 구조화된 데이터 탐색 및 액세스
    • 특수 변수
  • Nu에서 프로그래밍하기
    • 사용자 지정 명령
    • 별칭
    • 연산자
    • 변수
    • 제어 흐름
    • 스크립트
    • 모듈
      • 모듈 사용하기
      • 모듈 만들기
    • 오버레이
    • 정렬
    • 누셸 코드 테스트
    • 모범 사례
  • 셸로서의 Nu
    • 구성
    • 환경
    • 표준 출력, 표준 오류 및 종료 코드
    • 시스템(외부) 명령 실행
    • 타사 프롬프트 구성 방법
    • 디렉터리 스택
    • Reedline, Nu의 줄 편집기
    • 사용자 지정 완성
    • 외부 명령
    • Nu의 색상 지정 및 테마 설정
    • 후크
    • 백그라운드 작업
  • Nu로 전환하기
    • Bash에서 오신 분들을 위해
    • CMD.EXE에서 오신 분들을 위해
    • 다른 셸 및 도메인 특정 언어의 Nu 맵
    • 명령형 언어의 Nu 맵
    • 함수형 언어의 Nu 맵
    • 누셸 연산자 맵
  • 디자인 노트
    • 누셸 코드가 실행되는 방법
  • (약간)고급 사용법
    • 표준 라이브러리 (미리보기)
    • 데이터프레임
    • 메타데이터
    • 나만의 오류 만들기
    • 병렬 처리
    • 플러그인
    • explore

특수 변수

누셸은 여러 특수 변수와 상수를 사용 가능하게 하고 사용합니다. 이들 중 다수는 이 책의 다른 곳에서 언급되거나 문서화되어 있지만, 이 페이지는 참조를 위해 모든 변수를 포함해야 합니다.

  • $nu
  • $env
    • $env.CMD_DURATION_MS
    • $env.config
    • $env.CURRENT_FILE
    • $env.ENV_CONVERSIONS
    • $env.FILE_PWD
    • $env.LAST_EXIT_CODE
    • $env.NU_LIB_DIRS
    • $env.NU_LOG_LEVEL
    • $env.NU_PLUGIN_DIRS
    • $env.NU_VERSION
    • $env.PATH
    • $env.PROCESS_PATH
    • $env.PROMPT_* 및 $env.TRANSIENT_PROMPT_*
    • $env.SHLVL
    • $env.XDG_CONFIG_HOME
    • $env.XDG_DATA_DIR
  • $in
  • $it
  • $NU_LIB_DIRS
  • $NU_PLUGIN_DIRS

$nu

$nu 상수는 여러 유용한 값을 포함하는 레코드입니다.

  • default-config-dir: 구성 파일이 저장되고 읽히는 디렉터리.

  • config-path: 주 누셸 구성 파일의 경로, 일반적으로 구성 디렉터리의 config.nu입니다.

  • env-path: 선택적 환경 구성 파일, 일반적으로 구성 디렉터리의 env.nu입니다.

  • history-path: 명령 기록을 저장하는 텍스트 또는 SQLite 파일.

  • loginshell-path: 로그인 셸에 대해 실행되는 선택적 구성 파일, 일반적으로 구성 디렉터리의 login.nu입니다.

  • plugin-path: 플러그인 레지스트리 파일, 일반적으로 구성 디렉터리의 plugin.msgpackz입니다.

  • home-path: 약어 ~를 사용하여 액세스할 수 있는 사용자의 홈 디렉터리.

  • data-dir: 시작 시 로드되는 ./vendor/autoload 디렉터리 및 기타 사용자 데이터를 포함하는 누셸의 데이터 디렉터리.

  • cache-dir: 필수적이지 않은(캐시된) 데이터용 디렉터리.

  • vendor-autoload-dirs: 시작 시 자동으로 로드될 구성 파일을 타사 응용 프로그램이 설치해야 하는 디렉터리 목록입니다.

  • user-autoload-dirs: 사용자가 시작 시 자동으로 로드될 추가 구성 파일을 만들 수 있는 디렉터리 목록입니다.

  • temp-path: 사용자가 쓸 수 있어야 하는 임시 파일 경로.

  • pid: 현재 실행 중인 누셸 프로세스의 PID.

  • os-info: 호스트 운영 체제에 대한 정보.

  • startup-time: 누셸이 시작되고 모든 구성 파일을 처리하는 데 걸린 시간(기간).

  • is-interactive: 누셸이 대화형 셸로 시작되었는지(true) 또는 스크립트나 명령 문자열을 실행 중인지 여부를 나타내는 부울입니다. 예시:

    $nu.is-interactive
    # => true
    nu -c "$nu.is-interactive"
    # => false
    
    # --interactive(-i)로 대화형 강제 실행
    nu -i -c "$nu.is-interactive"
    # => true

    참고: 대화형 셸로 시작하면 시작 구성 파일이 처리됩니다. 비대화형 셸로 시작하면 플래그를 통해 명시적으로 호출되지 않는 한 구성 파일이 읽히지 않습니다.

  • is-login: 누셸이 로그인 셸로 시작되었는지 여부를 나타냅니다.

  • history-enabled: nu --no-history를 통해 기록을 비활성화할 수 있으며, 이 경우 이 상수는 false가 됩니다.

  • current-exe: 현재 실행 중인 nu 바이너리의 전체 경로입니다. 바이너리가 있는 디렉터리를 확인하기 위해 path dirname(상수)과 결합할 수 있습니다.

$env

$env는 현재 환경 변수를 포함하는 특수 가변 변수입니다. 모든 프로세스와 마찬가지로 초기 환경은 nu를 시작한 부모 프로세스에서 상속됩니다.

누셸이 특정 목적으로 사용하는 몇 가지 환경 변수도 있습니다.

$env.CMD_DURATION_MS

이전 명령이 실행되는 데 걸린 시간(밀리초).

$env.config

$env.config는 누셸에서 사용되는 주 구성 레코드입니다. 설정은 config nu --doc에 문서화되어 있습니다.

$env.CURRENT_FILE

스크립트, 모듈 또는 소싱된 파일 내에서 이 변수는 정규화된 파일 이름을 보유합니다. 이 정보는 path self 명령을 통해 상수로도 사용할 수 있습니다.

$env.ENV_CONVERSIONS

사용자가 특정 환경 변수를 누셸 유형으로 변환하는 방법을 지정할 수 있습니다. ENV_CONVERSIONS를 참조하십시오.

$env.FILE_PWD

스크립트, 모듈 또는 소싱된 파일 내에서 이 변수는 파일이 있는 디렉터리의 정규화된 이름을 보유합니다. 이 값은 다음을 통해 상수로도 사용할 수 있습니다.

path self | path dirname

$env.LAST_EXIT_CODE

마지막 명령의 종료 코드, 일반적으로 외부 명령에 사용됩니다. POSIX의 $?와 동일합니다. 이 정보는 외부 명령에 대한 try 표현식의 catch 블록에서도 사용할 수 있습니다. 예시:

^ls file-that-does-not-exist e> /dev/null
$env.LAST_EXIT_CODE
# => 2

# 또는
try {
  ^ls file-that-does-not-exist e> /dev/null
} catch {|e|
  print $e.exit_code
}
# => 2

$env.NU_LIB_DIRS

source, use 또는 overlay use 명령을 사용할 때 검색할 디렉터리 목록입니다. 참조:

  • 아래 $NU_LIB_DIRS 상수
  • 모듈 경로
  • 구성 - $NU_LIB_DIRS

$env.NU_LOG_LEVEL

표준 라이브러리는 std/log에서 로깅을 제공합니다. NU_LOG_LEVEL 환경 변수는 사용자 지정 명령, 모듈 및 스크립트에 사용되는 로그 수준을 정의하는 데 사용됩니다.

nu -c '1 | print; use std/log; log debug 1111; 9 | print'
# => 1
# => 9

nu -c '1 | print; use std/log; NU_LOG_LEVEL=debug log debug 1111; 9 | print'
# => 1
# => 2025-07-12T21:27:30.080|DBG|1111
# => 9

nu -c '1 | print; use std/log; $env.NU_LOG_LEVEL = "debug"; log debug 1111; 9 | print'
# => 1
# => 2025-07-12T21:27:57.888|DBG|1111
# => 9

$env.NU_LOG_LEVEL은 기본 제공 네이티브 Rust 누셸 명령의 로그 수준을 설정하는 nu --log-level과 다릅니다. 사용자 지정 명령 및 스크립트에서 사용되는 std/log 로깅에 영향을 미치지 않습니다.

nu --log-level 'debug' -c '1 | print; use std/log; log debug 1111; 9 | print'
# => … 훨씬 더 많은 로그 메시지, 누셸 명령 Rust 소스 파일에 대한 참조 포함
#      그리고 우리 자신의 `log debug` 메시지 없이
# => 1
# => 9
# => …

$env.NU_PLUGIN_DIRS

plugin add로 플러그인을 등록할 때 검색할 디렉터리 목록입니다. 참조:

  • 플러그인 검색 경로

$env.NU_VERSION

현재 누셸 버전입니다. (version).version과 동일하지만 환경 변수이므로 자식 프로세스로 내보내지고 읽을 수 있습니다.

$env.PATH

다른 응용 프로그램을 실행하기 위한 검색 경로입니다. 처음에는 부모 프로세스에서 문자열로 상속되지만 쉽게 액세스할 수 있도록 시작 시 누셸 list로 변환됩니다.

자식 프로세스를 실행하기 전에 문자열로 다시 변환됩니다.

$env.PROCESS_PATH

스크립트를 실행할 때 이 변수는 스크립트의 이름과 상대 경로를 나타냅니다. 위의 두 변수와 달리 파일을 소싱하거나 모듈을 가져올 때는 존재하지 않습니다.

참고: 또한 위의 두 변수와 달리 파일을 호출하는 데 사용된 정확한 경로(심볼릭 링크 포함)가 반환됩니다.

$env.PROMPT_* 및 $env.TRANSIENT_PROMPT_*

각 명령줄에 나타나는 누셸 프롬프트를 구성하는 데 사용할 수 있는 여러 변수가 있습니다. 참조:

  • 구성 - 프롬프트 구성
  • config nu --doc

$env.SHLVL

SHLVL은 새 하위 셸에 들어갈 때 대부분의 셸에서 증가합니다. 중첩된 셸 수를 확인하는 데 사용할 수 있습니다. 예를 들어, $env.SHLVL == 2이면 exit를 입력하면 부모 셸로 돌아가야 합니다.

$env.XDG_CONFIG_HOME

선택적으로 $nu.default-config-dir 위치를 재정의하는 데 사용할 수 있습니다. 구성 - 시작 변수를 참조하십시오.

$env.XDG_DATA_DIR

선택적으로 $nu.data-dir 위치를 재정의하는 데 사용할 수 있습니다. 구성 - 시작 변수를 참조하십시오.

$in

$in 변수는 표현식에 대한 파이프라인 입력을 나타냅니다. 파이프라인 - 특수 $in 변수를 참조하십시오.

$it

$it은 where "행 조건"에서만 사용할 수 있는 특수 변수입니다. 필드 액세스를 단순화하는 편리한 약어입니다. 자세한 내용은 help where 또는 where를 참조하십시오.

$NU_LIB_DIRS

$env.NU_LIB_DIRS의 상수 버전 - source, use 또는 overlay use 명령을 사용할 때 검색할 디렉터리 목록입니다. 참조:

  • 모듈 경로
  • 구성 - $NU_LIB_DIRS

$NU_PLUGIN_DIRS

$env.NU_PLUGIN_DIRS의 상수 버전 - plugin add로 플러그인을 등록할 때 검색할 디렉터리 목록입니다. 참조:

  • 플러그인 검색 경로
GitHub에서 수정하기
Contributors: Taeyoon Kim, ImgBotApp, google-labs-jules[bot], deepthought
Prev
구조화된 데이터 탐색 및 액세스
Next
Nu로 프로그래밍하기