fish 命令基本介绍fish(Friendly Interactive Shell) 是一款用户友好的 Unix shell以其简洁的语法、自动建议、语法高亮和智能补全等特性而闻名。fish 采用不同于传统 shell 的语法设计更加直观和易于学习适合新手和高级用户使用。资料合集https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a语法fish[选项][脚本文件]启动选项选项说明-c command执行指定的命令后退出-i启动交互式 shell-l作为登录 shell 启动-n检查脚本语法但不执行-v显示版本信息--debuglevel设置调试级别--no-config不加载配置文件常用内置命令文件和目录操作命令说明cd dir切换目录pwd显示当前目录mkdir dir创建目录rmdir dir删除空目录rm file删除文件或目录cp src dst复制文件mv src dst移动或重命名文件变量和环境命令说明set var value设置变量set -x var value设置环境变量set -e var删除变量env显示环境变量echo text输出文本read var读取用户输入流程控制命令说明if condition; ...; end条件判断switch value; case pattern; ...; end多条件分支for var in list; ...; end循环while condition; ...; end条件循环break跳出循环continue继续下一次循环函数和脚本命令说明function name; ...; end定义函数function -e name删除函数source file执行脚本文件. file执行脚本文件同 source作业控制命令说明amp;后台执行命令jobs显示后台作业fg将后台作业调至前台bg将前台作业放至后台使用示例1. 启动交互式 shellfish2. 执行单个命令fish-cecho Hello World3. 执行脚本文件fish script.fish4. 作为登录 shell 启动fish-l5. 检查脚本语法fish-nscript.fish6. 设置变量setnameJohnecho$name7. 设置环境变量set-xPATH$PATH/usr/local/bin8. 定义函数functiongreetechoHello,$argv[1]!end greet World9. 条件判断iftest-f/etc/passwdechoFile existsend10. 循环遍历foriin123echo$iend11. 自动建议# 输入命令时会自动显示建议ls/uTab# 自动补全为 /usr/12. 历史搜索# 使用上下箭头浏览历史# 输入部分命令后按上下箭头搜索配置文件系统级配置/etc/fish/config.fish- 全局 fish 配置/etc/fish/conf.d/- 额外配置脚本目录用户级配置~/.config/fish/config.fish- 用户 fish 配置~/.config/fish/functions/- 用户函数目录~/.config/fish/completions/- 用户补全配置目录特殊变量变量说明$argv命令行参数数组$argv[1]第一个参数$status上一条命令的退出状态$pwd当前工作目录$USER当前用户名$HOME用户主目录$PATH命令搜索路径高级特性自动建议fish 会根据命令历史自动显示建议按右箭头或 Tab 键接受建议。语法高亮fish 提供实时语法高亮包括命令、参数、路径、变量等的颜色区分。智能补全fish 的补全系统支持命令名补全文件路径补全参数补全命令选项补全Web 配置界面fish 提供了一个 Web 界面用于配置fish_config插件系统fish 支持通过 Oh My Fish 等框架管理插件。实用技巧1. 安装 Oh My Fishcurl-Lhttps://get.oh-my.fish|fish2. 设置默认 shellchsh-s/usr/bin/fish3. 查看命令历史history4. 搜索命令历史# 输入部分命令后按上下箭头# 或使用 CtrlR5. 目录跳转cd~/Documentscd..# 返回上级目录cd-# 返回上一次所在目录6. 管道和重定向ls-la|grep.txtoutput.txt7. 后台执行sleep10amp;与 bash 的区别特性fishbash语法简洁直观传统语法自动建议内置支持不支持语法高亮内置支持需要插件数组原生支持有限支持变量赋值set var valuevarvalue条件判断if test ...if [ ... ]兼容性不完全兼容完全兼容相关命令命令说明bashBourne-Again ShellshBourne ShellzshZ ShellcshC ShelltcshTENEX C Shell注意事项安装部分系统需要先安装 fishapt install fish或dnf install fish语法差异fish 的语法与 bash 不同需要学习新语法兼容性bash 脚本可能需要修改才能在 fish 中运行配置文件配置文件位于~/.config/fish/插件管理建议使用 Oh My Fish 管理插件总结fish是一款用户友好的 Unix shell以其简洁的语法、自动建议和语法高亮等特性而闻名。它适合新手学习也能满足高级用户的需求通过配置和插件可以打造个性化的开发环境。