iOS zsh简单使用

Shell

1、Shell 的命令行性质

shell是一个用 C 语言编写的程序,它是用户使用 类Linux 的桥梁,可供用户交互式操作调用系统执行命令。在mac上,常见的shell GUI封装程序(或 终端模拟程序)是 “终端”、“iterm2”。

打开终端或者iterm2

image.gif

用户 通过shell(pod)命令 调起 Ruby解析器 解析执行“pod”(ruby)脚本。

image.gif

用户 通过shell窗口 直接调起可执行文件“qiyimac”。

2、Shell 既是一种命令语言,又是一种程序设计语言。

上面已经简单说明了shell作为命令语言的使用,这里简单说明shell的程序设计语言性质。

image.gif

image.gif

Sh 解释器是个可执行文件,可以把sh当做 zsh、bash的简化版

▪第一、shell脚本有如下编程语言的特征

image.gif

▪第二、从进程的角度看
test.sh 如下

#!/bin/sh
echo $$ #输出当前进程PID
ps -a #输出当前活跃进程(controlling terminal 类型)

运行结果如下:

image.gif

zsh test.sh 执行脚本 开启了ID 为 51139 新的 进程(zsh程序),当然 也可以 source 执行 test.sh。

3、 Mac 的zsh 和 bash

Z shellZsh)是一款可用作交互式登录的shell及脚本编写的命令解释器。Zsh对Bourne shell做出了大量改进,同时加入了Bash、ksh及tcsh的某些功能。

Bash是Bourne shell的后继兼容版本与开放源代码版本,它的名称来自Bourne shell(sh)的一个双关语(Bourne again / born again):Bourne-Again SHell。Bash能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4起至macOS Mojave都将它作为默认shell。

自2019年起,自macOS Catalina, macOS的默认Shell已从Bash改为Zsh。

Zsh(shell) 的 startup 配置文件 是 .zshrc,在用户目录根目录下(可自行创建)

oh my zsh 使用

用户社区网站"Oh My Zsh"收集Z shell的第三方插件及主题。截止于2018年,其GitHub源共有超过1000位贡献者、200多款插件和超过140款主题。同时也带有更新已安装插件及主题的自动更新工具。

// Install oh-my-zsh via wget
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
// Install oh-my-zsh via curl
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

1、Oh my zsh 大致工作原理

1.通过安装脚本把 插件和主题 下载到 本地

https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh

2.通过.zshrc的 startup 配置文件 配置 zsh

image.gif

image.gif

在.zshrc 中,可以看到 source $ZSH/oh-my-zsh.sh 命令,oh-my-zsh.sh的作用就是把上面的配置参数引入到zsh中,例如 ZSH_THEME="amuse", oh-my-zsh脚本会从.oh-my-zsh/themes 中查找amuse.zsh-theme。git 插件原理也是如此。

2、插件、主题目录管理

oh-my-zsh 插件和主题分为两类,一类是内置的,由oh-my-zsh做源文件管理;另一类是三方的,可由用户手动管理。

插件和主题目录管理如下图, 其中Zsh-autosuggestions 插件不属于 oh-my-zsh 内置的插件,是手动管理的插件,它处于custom目录之下。oh-my-zsh提供三方插件接入支持,只要把插件内容放到指定位置,即可像内置插件一样使用。目录位置如下图:

image.gif

image.gif

git 插件是内置插件、Zsh-autosuggestions 是外部插件

3、推荐的插件和主题

zsh-syntax-highlighting
https://github.com/zsh-users/zsh-syntax-highlighting

zsh-autosuggestions
https://github.com/zsh-users/zsh-autosuggestions

autojump
https://github.com/wting/autojump

Git
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git

rand-quote
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/rand-quote

主题: robbyrussell、af-magic、bureau、amuse

Cowsay 和 quote组合

Cowsay 命令行使用

npm install -g cowsay // 安装
cowsay -f cat 'Hello world!' // 使用

把下面的命令放入 startup 配置文件 .zshrc 的最后,shell启动结果如下:

cowsay -f cat `quote`
或者 quote | cowsay
image.gif

参考资料

Oh My Zsh 官网
Oh My Zsh github 文档
Oh My zsh 使用博客
Shell脚本
Asciiworld

你可能感兴趣的:(iOS zsh简单使用)