oh-my-zsh使用篇

什麼是Bash?

https://www.gnu.org/software/bash/manual/bash.html#What-is-Bash_003fhtml

Bash是GNU操做系統的shell或命令語言解釋器。這個名字是’Bourne-Again SHell’的縮寫,是Stephen Bourne的雙關語,他是當前Unix shell sh的直接祖先的做者,出如今第七版貝爾實驗室研究版的Unix中。
Bash在很大程度上與sh兼容,並結合了Korn shell ksh和C shell csh的有用功能。它旨在成爲IEEE POSIX規範(IEEE標準1003.1)的IEEE POSIX Shell和Tools部分的一致實現。它爲交互式和編程使用提供了超過sh的功能改進。
雖然GNU操做系統提供其餘shell,包括csh版本,但Bash是默認shell。像其餘GNU軟件同樣,Bash很是便攜。它目前幾乎運行在每一個版本的Unix和一些其餘操做系統上 - 爲MS-DOS,OS / 2和Windows平臺提供獨立支持的端口。mysql

什麼是Shell?

在它的基礎上,shell只是一個執行命令的宏處理器。術語宏處理器意味着擴展文本和符號以建立更大表達式的功能。
Unix shell既是命令解釋器又是編程語言。做爲命令解釋器,shell爲豐富的GNU實用程序提供了用戶接口。編程語言功能容許組合這些實用程序。能夠建立包含命令的文件,並本身成爲命令。這些新命令與/ bin等目錄中的系統命令具備相同的狀態,容許用戶或組創建自定義環境以自動執行其常見任務。
Shell能夠以交互方式或非交互方式使用。在交互模式下,它們接受鍵盤輸入的輸入。當以非交互方式執行時,shell執行從文件讀取的命令。
shell容許同步和異步執行GNU命令。 shell在接受更多輸入以前等待同步命令完成;異步命令在讀取和執行其餘命令時繼續與shell並行執行。重定向結構容許對這些命令的輸入和輸出進行細粒度控制。並且,shell容許控制命令環境的內容。
Shell還提供了一小組內置命令(內置命令),這些命令實現了經過單獨的實用程序獲取不可能或不方便的功能。例如,cd,break,continue和exec不能在shell以外實現,由於它們直接操做shell自己。歷史,getopts,kill或pwd builtins等能夠在單獨的實用程序中實現,但它們做爲內置命令使用起來更方便。全部shell內置函數都將在後續章節中介紹。
雖然執行命令是必不可少的,但shell的大部分功能(和複雜性)都歸功於它們的嵌入式編程語言。與任何高級語言同樣,shell提供變量,流控制構造,引用和函數。
Shell提供專門用於交互式使用的功能,而不是加強編程語言。這些交互式功能包括做業控制,命令行編輯,命令歷史記錄和別名。本手冊中描述了這些功能中的每個。git

什麼是Zsh?

zsh:http://zsh.sourceforge.net/
zsh github地址
zsh主題地址
zsh插件地址
zsh擴展主題地址
zsh擴展插件地址
各系統安裝zshgithub

Zsh是一個專爲交互式使用而設計的shell,儘管它也是一種功能強大的腳本語言。 bash,ksh和tcsh的許多有用功能都被合併到zsh中;添加了許多原始功能。介紹性文檔詳細介紹了zsh的一些獨特功能。它假定了標準UNIX shell的基本知識;目的是向讀者展現已經熟悉其餘主要shell之一的緣由是什麼使zsh更有用或更強大。這份文件並不全面;閱讀手冊條目以得到完整,簡潔和最新的shell描述,儘管有點壓倒性且缺少示例。或者,用戶指南提供了許多shell功能的冗長解釋。sql

## 檢查mac zsh版本
zsh --version
## 檢查zsh是不是當前系統的默認shell
echo $SHELL
## 若是不是,如何設置默認shell
chsh -s $(which zsh)


Mac安裝zsh
Mac 設置oh-my-zsh

 

 

 

## 安裝oh-my-zsh
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
plugins =(git osx macports)



主目錄cd ~會建立.zshrc文件,用於配置zsh主題和指定插件
個人.zshrc文件配置在文章個人zsh .zhsrc配置文章中貼出。
最好安裝如下三個插件shell

 

mac配置agnoster-zsh-theme主題
測試是否支持特殊字體:echo "\ue0b0 \u00b1 \ue0a0 \u27a6 \u2718 \u26a1 \u2699"
編程

 

 

不支持這種字體則須要安裝powerline
配色方案 Solarized:https://ethanschoonover.com/solarized/,資源下載而後雙擊安裝到mac的命令行終端裏。
vim

 

 

比較舒服的配色:iterm2:profiles-color-dark ,zsh主題:amuse
ruby

 

 

 


個人oh-my-zsh .zshrc配置bash

# If you come from bash you might have to change your $PATH.
## 若是你從bash來,你可能須要改變你的$PATH變量,一些本身配置的應用程序環境變量
# 樣例:export PATH=$HOME/bin:/usr/local/bin:$PATH
# scala環境配置例子
export PATH=$PATH:/usr/local/share/scala-2.10.6/bin
# mysql環境配置的例子
export PATH=/usr/local/mysql/bin:$PATH

# Path to your oh-my-zsh installation.
## oh-my-zsh的安裝路徑
export ZSH=$HOME/.oh-my-zsh

# Set name of the theme to load. Optionally, if you set this to "random"
## 設置要加載的主題,若是你設置random。表示可選的
# it'll load a random theme each time that oh-my-zsh is loaded.
## 它會在oh-my-zsh每次啓動時,隨機加載一個主題
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
## 參考上面的主題連接
ZSH_THEME="avit"

# Uncomment the following line to use case-sensitive completion.
## 取消註釋行,使用區分大小寫的命令補全
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
## 取消註釋行使用連字符不敏感的補全。區分大小寫的補全必須關閉。_和-是通用的
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
## 取消註釋行來關閉每兩週一次的自動檢查更新
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
## 取消註釋行來改變自動更新的天數
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line to disable colors in ls.
## 取消註釋行來關閉ls的顏色
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
## 取消註釋行來關閉自動設置終端的標題
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
## 取消註釋行來開啓命令自動更正
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
## 取消註釋行來展現在等待完成時顯示紅點
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
## 取消註釋行榮國你想關閉將VCS下未跟蹤的文件標記爲髒文件。這使得大型存儲庫的存儲庫狀態檢查更加快速。
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
## 取消註釋行若是你想改變在歷史命令行輸出的命令執行時間戳,有可選的三種格式
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
## 自定義的文件夾不使用$ZSH/custom
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
## 你想加載什麼插件,(在~/.oh-my-zsh/plugins/*可找到的),自定義插件在添加在~/.oh-my-zsh/custom/plugins/
## 有實例展現,添加太多的插件會拖慢shell的啓動速度。

## git插件
plugins=(git)

source $ZSH/oh-my-zsh.sh

# User configuration
## 用戶配置

## man手冊路徑
# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
## 你可能須要手動設置你的語言環境,這裏設置的是美國英文的UTF-8
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
## 本地或者遠程會話的首選的編輯器
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi

# Compilation flags
## 彙編標記
# export ARCHFLAGS="-arch x86_64"

# ssh 
# export SSH_KEY_PATH="~/.ssh/rsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#設置私人的別名,覆蓋oh-my-zsh提供的庫,插件和主題。經過oh-my-zsh,鼓勵用戶在ZSH_CUSTOM文件夾下定義本身的別名,別名能夠在這裏替換,完整的別名激活列表,運行 alias
# Example aliases
## 別名舉例
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

source /Users/fubin/.bash_profile
plugins=(zsh-syntax-highlighting)
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin" 

相關文章
相關標籤/搜索