日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fish shell 简要教程以及对bash的兼容性讨论。

發布時間:2025/6/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fish shell 简要教程以及对bash的兼容性讨论。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文的亮點在于兩點:1. 提出了一種fish與bash兼容性的臨時方案,2. 自己新建了一個屬于自己的fish主題。

fish的官網宣傳語是 Finally, a command line shell for the 90s。 翻譯過來就是 Fish shell 是一個為90后準備的 shell。
有人說:“二逼青年用bash,普通青年用zsh,文藝青年用fish?!盵4]
其次由于zsh 的速度實在是太慢了,所以決定換了fish, 簡單做下總結,發現還不錯。fish的智能提示非常強大。持續更新中,如果有好的建議或推薦歡迎評論。

文章同步在兩個平臺發布,轉載請注明來源:
簡書:https://www.jianshu.com/p/bf0...
segmentfault:https://segmentfault.com/a/11...

1 、ubuntu 安裝fish

sudo apt-add-repository ppa:fish-shell/release-2 sudo apt-get update sudo apt-get install fish #切換到fish sudo chsh -s /usr/bin/fish && fish

其他平臺類似,可以根據官網說明來 [[1]](https://fishshell.com/)
fish的鮮明特征在于安裝時已經默認集成了很多需要的功能。
比如:

  • 命令行語法高亮,錯誤會顯示紅色
  • 智能提示
  • 可以使用web網頁的進行終端配置

fish 有智能提示,一個命令一旦輸入過一次,會自動顯示上一次的全部命令,細心一點會發現會有一層灰色的字體表示上一次的命令,按Ctrl+F或者 右方向鍵→, 即可自動補全,如下圖。

2、 安裝autojump

git clone https://github.com/wting/autojump.git cd autojump ./install.pyvim ~/.config/fish/config.fish 按照install.py 命令給出的提示來修改config.fish, 添加 if test -f /home/ice/.autojump/share/autojump/autojump.fish; . /home/ice/.autojump/share/autojump/autojump.fish; end

3、兼容性

由于fish 很多不兼容bash的功能導致了很多腳本無法運行,這一點是很多人吐槽fish的地方,我們需要一種方式來運行腳本。

比如

arc land --onto `git rev-parse --abbrev-ref HEAD`

這條命令在fish里無法執行。
我們只需要在前面添加一個bash -c 命令即可,如下所示。

bash -c "arc land --onto `git rev-parse --abbrev-ref HEAD`"

順手價格alias就更方便了,可以直接在命令行里使用命令arcl。

alias arcl bash -c "arc land --onto `git rev-parse --abbrev-ref HEAD`"

對于腳本文件,比如我將需要執行的命令或文件放到repomerge.sh

在~/.config/fish/config.fish添加

alias up "bash -c /usr/bin/repomerge.sh"

然后就可以自由的使用up命令了

4、網頁版fish

fish_config可以直接跳出網頁版本的界面。

web版本可以設置主題, 推薦其中的"Tomorrow Night"主題顏色。

選擇想要的主題,然后點擊set theme即可設置主題。
在命令里按enter 即可退出web版本的界面。

快速設置縮寫

5、插件管理

https://github.com/oh-my-fish...

omf install thefuck

雖然有fisher這個管理工具,但是目前還不穩定。

6、終端顯示git的分支名稱

在~/.config/fish/config.fish中添加如下代碼

function fish_prompt --description 'Write out the prompt'if not set -q __fish_prompt_normalset -g __fish_prompt_normal (set_color normal)end if not set -q __git_cbset __git_cb (set_color blue)" ("(set_color brred)(git branch ^/dev/null | grep \* | sed 's/* //')(set_color blue)")"end switch $USERcase rootif not set -q __fish_prompt_cwdif set -q fish_color_cwd_rootset -g __fish_prompt_cwd (set_color $fish_color_cwd_root)elseset -g __fish_prompt_cwd (set_color $fish_color_cwd)endendprintf '%s %s%s%s%s# ' $USER "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" $__git_cbcase '*' if not set -q __fish_prompt_cwdset -g __fish_prompt_cwd (set_color $fish_color_cwd)endprintf '%s %s%s%s%s ' $USER "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" $__git_cbend end

樣式顯示如下:

其中function fish_prompt 函數用于定義fish終端的顯示樣式。

7、git 配置

# git 相關的配置 alias g "git" alias gst "git status" alias grs "git reset --soft" alias grh "git reset --hard" alias gb "git branch" alias gba "git branch -a" alias gl "git pull"

8、配置自己的主題(終端顯示樣式)

我們只需要寫一個fish_prompt函數即可。集成了git的分支名稱以及當前的變化。

顯示的樣式如下:

**說明:
?代表當前git項目是干凈的。
%1 表示有一個文件未追蹤
+1 表示一個文件已暫存**

# 終端顯示樣式的配置 function fish_prompt --description 'Write out the prompt'if not set -q __fish_prompt_normalset -g __fish_prompt_normal (set_color normal)end __fish_git_prompt >/dev/null 2>&1if git_is_repoif not set -q __git_cbset __git_cb (set_color blue)" ("(set_color brred)(git branch | grep \* | sed 's/* //') (set_color -o bryellow)(__fish_git_prompt_informative_status)(set_color blue)")"endend if not set -q __fish_prompt_cwdset -g __fish_prompt_cwd (set_color $fish_color_cwd)end printf '%s%s%s%s ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" $__git_cb end

9、隱藏歡迎語

在confin.sh文件里添加如下函數即可

function fish_greeting end

參考:

  • 官網
  • fish 安裝 https://launchpad.net/~fish-s...
  • Fish shell 入門教程 (阮一峰) http://www.ruanyifeng.com/blo...
  • 宇宙第一shell——fish入門 https://www.jianshu.com/p/7ff...
  • 總結

    以上是生活随笔為你收集整理的fish shell 简要教程以及对bash的兼容性讨论。的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91无毒不卡| 外国一级片 | 精品乱 | 伊人精品国产 | 片黄在线观看 | 免费观看一区二区三区毛片 | 国产第五页 | 国产精品日 | 国产一区二区三区黄片 | 都市激情久久 | 国产私密视频 | jul023被夫上司连续侵犯 | 国产一级片视频 | 少妇野外性xx老女人野外性xx | 国产视频黄色 | 瑟瑟视频免费观看 | 色福利网 | av小说在线观看 | 翔田千里一区二区 | 男女视频在线 | 亚洲欧美另类一区 | 四虎影像| 狠狠操在线 | 强行糟蹋人妻hd中文 | aaaa毛片| 另类视频一区 | 三级色网站 | 桃花色综合影院 | 一级aaa毛片 | 亚洲一区二区福利 | www日本在线 | 2019日韩中文字幕mv | 国产绿帽刺激高潮对白 | 欧美大肥婆大肥bbbbb | av亚洲在线观看 | 男人操女人动漫 | 日日夜夜精| 国产探花在线精品一区二区 | 手机午夜视频 | 色一五月 | 欧美色图3p | 久久精品日韩 | 综合天天 | 乱妇乱女熟妇熟女网站 | 美女在线国产 | 欧美日韩一区二区在线 | 成人a视频 | 狠狠干青青草 | 欧美日韩午夜爽爽 | 国产高清在线不卡 | 亚洲视频欧美 | 自拍偷拍国产视频 | 成人免费视频国产免费网站 | 长河落日电视连续剧免费观看 | 中文字幕欧美另类精品亚洲 | 国产人妻一区二区三区四区五区六 | 交专区videossex农村 | 亚洲av无码乱码国产精品久久 | 亚洲婷婷丁香 | 天天看天天干 | 天天曰夜夜曰 | 乱色熟女综合一区二区三区 | 国产福利91 | 欧美天天性 | jzz国产 | 欧美成人aaaaa | 精品在线免费观看 | 最近中文字幕无免费 | 噜噜噜久久,亚洲精品国产品 | 日韩精品成人一区 | 老司机深夜福利视频 | 免费大片黄在线观看 | 国产精品电影一区二区三区 | 浪浪视频污 | 在线理论视频 | 久久91亚洲人成电影网站 | 天堂中文在线最新 | 免费色网 | 天天狠狠操 | 国产成人在线观看 | 亚洲三区精品 | 亚洲视频在线播放 | 韩国中文字幕hd久久精品 | av导航在线观看 | 中文字幕第27页 | 国产特黄aaaaa毛片 | 欧美大胆a视频 | 性色浪潮| 国产欧美一区二区三区在线看蜜臂 | 91久久电影 | 国内自拍在线 | 欧美日韩免费高清一区色橹橹 | www.97视频 | 一本色道久久综合 | 黄色国产精品 | 深夜成人福利 | 美女毛毛片 | av成人免费在线观看 | av 一区二区三区 |