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的某些功能。

BashBourne 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容