良许Linux教程网 干货合集 Linux常用命令—fishshell命令

Linux常用命令—fishshell命令

Linux常用命令fishshell是一个比 bash 更好用的 shell,下面良许教程网为大家分享一下Linux常用命令—fishshell命令具体使用方法。

Linux常用命令—fishshell命令

fishshell

比 bash 更好用的 shell

安装

 # Ubuntu 和 Debian 的安装方法。
 sudo apt-get install fish
 # Mac 的安装方法。
 brew install fish

启动与帮助

由于 Fish 的语法与 Bash 有很大差异,Bash 脚本一般不兼容。因此,建议不要将 Fish 设为默认 Shell,而是每次手动启动它。

 # 安装完成后,就可以启动 Fish。
 $ fish
 # 使用过程中,如果需要帮助,可以输入 help 命令
 $ help

彩色显示

 # 无效命令为红色
 $ mkd
 # 有效命令为蓝色
 $ mkdir
 # 有效路径会有下划线。如果没有下划线,你就知道这个路径不存在。
 $ cat ~/somefi

自动建议

Fish 会自动在光标后面给出建议,表示可能的选项,颜色为灰色。如果采纳建议,可以按下 Control + F 。如果只采纳一部分,可以按下 Alt + →

 $ /bin/hostname # 命令建议
 $ grep --ignore-case # 参数建议
 $ ls node_modules # 路径建议

自动补全

输入命令时,Fish 会自动显示匹配的上一条历史记录。如果没有匹配的历史记录,Fish 会猜测可能的结果,自动补全各种输入。比如,输入 pyt 再按下 Tab ,就会自动补全为 python 命令。

Fish 还可以自动补全 Git 分支。

脚本语法

if 语句

 if grep fish /etc/shells
     echo Found fish
 else if grep bash /etc/shells
     echo Found bash
 else
     echo Got nothing
 end

switch 语句

 switch (uname)
 case Linux
     echo Hi Tux!
 case Darwin
     echo Hi Hexley!
 case FreeBSD NetBSD DragonFly
     echo Hi Beastie!
 case '*'
     echo Hi, stranger!
 end

while 循环

 while true
     echo "Loop forever"
 end

for 循环

 for file in *.txt
     cp $file $file.bak
 end

函数

Fish 的函数用来封装命令,或者为现有的命令起别名。

function ll
    ls -lhG $argv
end

上面代码定义了一个 ll 函数。命令行执行这个函数以后,就可以用 ll 命令替代 ls -lhG。其中,变量 $argv 表示函数的参数。

function ls
    command ls -hG $argv
end

上面的代码重新定义 ls 命令。注意,函数体内的 ls 之前,要加上 command,否则会因为无限循环而报错。

提示符

fish_prompt 函数用于定义命令行提示符(prompt)。

function fish_prompt
  set_color purple
  date "+%m/%d/%y"
  set_color FF0
  echo (pwd) '>'
  set_color normal
end

执行上面的函数以后,你的命令行提示符就会变成下面这样。

02/06/13
/home/tutorial >

配置

Fish 的配置文件是 ~/.config/fish/config.fish,每次 Fish 启动,就会自动加载这个文件。Fish 还提供 Web 界面配置该文件。

$ fish_config # 浏览器打开 Web 界面配置

Running Commands: 兼容 bash 等shell的命令执行方式   Getting Help: help/man cmd -> browser/terminal   Syntax Highlighting: 实时检查命令是否正确   Wildcards: 支持缩写  * 递归 匹配   Pipes and Redirections: 使用 ^ 代表 stderr   Autosuggestions: 自动建议, 可以使用 Ctrl-f / -> 来补全   Tab Completions: 更强大的 tab 补全   Variables: 使用 set 设置   Exit Status: 使用 echo $status 替代 $?   Exports (Shell Variables)   Lists: all variables in fish are really lists   Command Substitutions: 使用 (cmd) 来执行命令, 而不是 反引号、$()   Combiners (And, Or, Not): 不支持使用符合来表示逻辑运算   Functions:使用 $argv 替代 $1   Conditionals (If, Else, Switch) / Functions / Loops: 更人性化的写法(参考 py)   Prompt: function fish_prompt 实现   Startup (Where’s .bashrc?): ~/.config/fish/config.fish,更好的方式是 autoloading-function、universal-variables   Autoloading Functions: ~/.config/fish/functions/.   Universal Variables:a variable whose value is shared across all instances of fish

set name 'czl' # 设置变量,替代 name=czl
echo $name
echo $status # exit status,替代 $?
env # 环境变量
set -x MyVariable SomeValue # 替代 export
set -e MyVariable
set PATH $PATH /usr/local/bin # 使用 lists 记录 PATH
set -U fish_user_paths /usr/local/bin $fish_user_paths # 永久生效
touch "testing_"(date +%s)".txt" # command subtitution,替代 `date +%s`
cp file.txt file.txt.bak; and echo 'back success'; or echo 'back fail' # combiner
functions # 列出 fish 下定义的函数

参考资料

总结

至此关于Linux常用命令fishshell命令的使用方法分享结束,大家如果对fishshell命令的使用方法还有问题可以通过评论区将问题提交我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部