千家信息网

Linux fishshell命令怎么安装和使用

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍了Linux fishshell命令怎么安装和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux fishshell命令怎么安装和使用文章都会有
千家信息网最后更新 2025年01月17日Linux fishshell命令怎么安装和使用

这篇文章主要介绍了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 $argvend

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

function ls    command ls -hG $argvend

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

提示符

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

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

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

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: 更人性化的写法

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=czlecho $nameecho $status # exit status,替代 $?env # 环境变量set -x MyVariable SomeValue # 替代 exportset -e MyVariableset PATH $PATH /usr/local/bin # 使用 lists 记录 PATHset -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' # combinerfunctions # 列出 fish 下定义的函数

关于"Linux fishshell命令怎么安装和使用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Linux fishshell命令怎么安装和使用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

命令 函数 建议 输入 配置 变量 提示符 文件 知识 路径 循环 提示 有效 下划线 代码 内容 历史 参数 方式 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全怎样自学 PROFOUND翻译软件开发 校园网络安全的工作目标 服务器总是自动重启不能进入桌面 虚拟服务器哪个网站好用 应用程序和硬件交互 服务器 大数据 网络技术 法律数据库国家队 软件开发阶段性日程表 服务器练手 手机无法连接服务器怎么回事儿 云南电子化服务器虚拟主机 光遇不同的服务器有什么区别 紫光展锐通信软件开发面试 长春正规网络技术咨询诚信合作 商丘市商讯网络技术服务公司 关于网络安全的工匠小故事 mysql建两个数据库 最新互联网科技新产品 织梦数据库如何迁移 网络安全中的不可抗力 网络安全审核意见书年审 带pci插槽的服务器 去北大青鸟学软件开发怎么样 山西伽之南网络技术有限公司 牟平区电商软件开发公司 淘宝卖软件开发 云空间备份服务器异常 宿城区工业网络技术大概费用 建立和落实网络安全责任制怎么写
0