大家好,我是杰哥。
今天,我要给大家介绍一个生产力工具(装逼神器)Shell,它叫Nushell,它是用Rust写的,安全性提高的同时,Bug率也降低了,NuShell 专注于实现以下目标:
- 创建具有现代感的灵活的跨平台Shell
- 允许你将命令行应用程序与可理解数据结构的Shell进行混合和匹配
- 具有现代命令行应用程序提供的用户体验优化
目前,NuShell 已经在Github上标星13.9K,累计分支631(详情:github.com/nushell/nushell)
在 Linux / macOS 系统上运行 NuShell 的最简单快捷的方法是从crates.io安装 ,或从我们的Github 发布页面下载预构建的二进制文件。
对于任何 Linux 发行版来说,最理想的安装方法是二进制方法。我们将使用 curl 工具获取最新版本,下载然后解压缩文件以获得 Nushell 二进制文件。
安装开发人员工具
Ubuntu / Debian:
代码语言:javascript复制sudo apt updatesudo apt install pkg-config libssl-dev -ysudo apt install libxcb-composite0-dev libx11-dev -y
基于 RHEL 的系统:
代码语言:javascript复制sudo yum install libxcb openssl-devel libX11-devel -y
苹果系统:
代码语言:javascript复制brew install openssl cmake
在 Linux 上安装 Nushell
下载最新的二进制归档文件:
代码语言:javascript复制cd /tmpcurl -s https://api.github.com/repos/nushell/nushell/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep 'linux.tar.gz' | wget -i -
解压下载的文件:
代码语言:javascript复制tar -xvf nu_*_linux.tar.gz
将二进制文件复制到您的 PATH:
代码语言:javascript复制sudo mv nu_*_linux/nushell-*/nu /usr/local/bin
Nushell将在启动时在您的 PATH中查找插件。虽然Nushell在没有它们的情况下会有一些功能,但要获得完整的功能,你需要将它们复制到您的路径中,以便加载它们。
代码语言:javascript复制sudo mv nu_*_linux/nushell-*/nu_plugin* /usr/local/bin
Fedora 用户可以使用COPR repo安装Nushell:
代码语言:javascript复制sudo dnf copr enable atim/nushell -y && sudo dnf install nushell -y
在 macOS 上安装 Nushell
对于二进制安装方法,请使用 brew:
代码语言:javascript复制$ brew install nushell
从二进制文件手动安装
在 macOS 系统上运行以下命令来下载 Nushell 的最新版本:
代码语言:javascript复制cd /tmpcurl -s https://api.github.com/repos/nushell/nushell/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep 'macOS.zip' | wget -i -
解压下载的文件:
代码语言:javascript复制unzip nu_*_macOS.zip
将nu二进制文件复制到你的PATH:
代码语言:javascript复制sudo mv nu_*_macOS/nushell-*/nu /usr/local/bin
复制Nu插件:
代码语言:javascript复制sudo mv nu_*_macOS/nushell-*/nu_plugin* /usr/local/bin
在Docker运行Nushell
如果你是windows用户,那么,建议你直接在Docker运行体验就好了,几句命令就搞定了,命令如下:
代码语言:javascript复制docker run -it quay.io/nushell/nu:latest
将用户 Shell 设置为 Nushell
创建一个名为techviewleo的新用户:
代码语言:javascript复制$ sudo adduser techviewleoAdding user `techviewleo' ...Adding new group `techviewleo' (1000) ...Adding new user `techviewleo' (1000) with group `techviewleo' ...Creating home directory `/home/techviewleo' ...Copying files from `/etc/skel' ...New password:Retype new password:passwd: password updated successfullyChanging the user information for techviewleoEnter the new value, or press ENTER for the defaultFull Name []: Room Number []:Work Phone []: Home Phone []: Other []:Is the information correct? [Y/n] y
将用户默认 shell 设置为 Nu:
代码语言:javascript复制sudo chsh -s /usr/local/bin/nu techviewleo
切换到创建的用户帐户:
代码语言:javascript复制$ su - techviewleo
Password:
Welcome to Nushell 0.28.0 (type 'help' for more info)
/home/techviewleo>
测试 ls 命令在 Nushell 中的工作方式:
代码语言:javascript复制$ su - techviewleo
Password:
Welcome to Nushell 0.28.0 (type 'help' for more info)
/home/techviewleo>
运行效果展示:
最后附上nushell地址:
https://github.com/nushell/nushell