美文网首页
iOS zsh简单使用

iOS zsh简单使用

作者: asaBoat | 来源:发表于2022-05-05 12:49 被阅读0次

    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

    相关文章

      网友评论

          本文标题:iOS zsh简单使用

          本文链接:https://www.haomeiwen.com/subject/wewbyrtx.html