본문 바로가기
리눅스

Nushell

by 다움위키 2025. 4. 2.

원문 보기: https://dawoum.duckdns.org/wiki/Nushell

Original article: w:Nushell

 

Nushell (또는 약어로 그냥 Nu)은 대화형 로그인 쉘과 쉘 스크립팅을 위한 명령 인터프리터로 사용할 수 있는 크로스-플랫폼 입니다.

Nushell은 2019년 Sophia Turner와 Yehuda Katz에 의해 만들어졌습니다. PowerShell의 구조적이고 기능적인 접근 방식에서 영감을 얻었지만 명확한 오류 메시지와 크로스-플랫폼을 가집니다.

Introduction

경험해 본 쉘을 역사를 보자면, 쉘에는 전혀 관심이 없던 시절에 사용했든 이름 모를 쉘들을 지나, 가장 오래 사용했든 Bash (Unix shell), 가장 짧게 사용한 Z shell를 지나, 지금과 앞으로 사용할 Fish (Unix shell), 그리고 마지막으로 테스트 중인 Nushell이 있습니다.

이 쉘도 Fish (Unix shell)와 마찬가지로 POSIX-비호환 쉘이고, 어떤 경우에서 Starship (software)의 오른쪽 프롬프트가 다른 쉘에 비해 제대로 작동하지 않습니다.

게다가, 명령어를 새롭게 만들었는지, 기존에 사용하던 옵션이 없는 것, 예를 들어, cp -a가 작동하지 않습니다.

더구나, Fish (Unix shell)는 거의 설정이 필요없고, 나아가서 인터넷에 찾은 간단한 정보에서 설정도 완료되고, 나머지는 그냥 set을 정하고, abbr을 만드는 것이 전부입니다.

반면에, Nushell은 좋은 참조를 찾기가 쉽지 않고, 상당히 다른 느낌입니다. 개발되기 시작한지 얼마되지 않았기 때문에, 아직은 일반 사용자가 접근하기 쉽지 않은 쉘이라고 느껴집니다.

Installation

데비안 저장소에서 패키지를 제공하지 않습니다.

첫 번째 개발자가 제공하는 저장소에서 설치할 수 있습니다:

위 방법은 확인하지 않았습니다.

바이너리 패키지

개발자가 제공하는 바이너리 파일을 패키지로 묶을 수 있습니다:

위 링크에서 Download를 눌러서 확장해서 다음 파일을 받습니다:

  • nu-0.103.0-x86_64-unknown-linux-gnu.tar.gz
  • tar xvf nu-0.103.0-x86_64-unknown-linux-gnu.tar.gz
  • cd nu-0.103.0-x86_64-unknown-linux-gnu

설치 스크립트, nushell-bin.install 파일을 만듭니다:

pkgname=nushell-bin
pkgver=0.103.0
pkgrel=1

pkgdir=nushell-bin_0.103.0-1_amd64

package() {
	for f in $(find . -type f -name "nu*"); do
		install -Dm755 "$f" "${pkgdir}/usr/bin/$f"
	done
	install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/nushell/LICENSE"
	install -Dm644 "README.txt" "${pkgdir}/usr/share/doc/nushell/README.txt"
}

package

mkdir -p "$pkgdir"/DEBIAN

스크립트를 수행하고, control 파일을 만들고, 패키지로 묶고, 설치합니다:

  • bash nushell-bin.install
  • vi nushell-bin_0.103.0-1_amd64/DEBIAN/control
  • dpkg-deb --build --root-owner-group nushell-bin_0.103.0-1_amd64
  • sudo dpkg -i nushell-bin_0.103.0-1_amd64.deb

자동으로 쉘을 등록해 주는 과정이 빠졌기 때문에, 수동으로 등록해 줍니다.

  • sudo sh -c 'echo /usr/bin/nu >> /etc/shells'

쉘을 바꾸고, 로그아웃 후에 다시 로그인합니다:

  • chsh -s /usr/bin/nu
  • logout and login or reboot

History

Nushell은 구조화된 데이터와 현대적인 프로그래밍 아이디어를 전통적인 유닉스 쉘 환경에 도입하려는 시도로 고안되었습니다. 그것의 생성은 일반 텍스트 스트림이 아닌 개체에서 작동한다는 아이디어를 도입한 PowerShell의 성공으로 촉발되었습니다.

초기 개념은 PowerShell의 기능에서 영감을 받았지만 더 기능적인 접근 방식을 원했던 Yehuda Katz와 소규모 기여자 그룹에 의해 개발되었습니다. 그 팀은 BashZsh와 같은 기존 쉘에서는 찾을 수 없는 기능을 제공하면서 Windows, Linux, 및 macOS에서 실행할 수 있는 크로스-플랫폼 쉘을 설계하는 것을 목표로 했습니다.

Nushell의 첫 번째 공개 프리뷰는 2019년에 이루어졌습니다. 이 프로젝트는 구조화된 데이터가 있는 파이프라인 및 사용자 정의 가능한 플러그인과 같은 새로운 기능으로 계속 발전하면서 추진력을 얻었습니다.