• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >苹果MAC > 在Mac OS上使用Fish Shell的基础教程

在Mac OS上使用Fish Shell的基础教程

作者:Martin Streicher 字体:[增加 减小] 来源:互联网 时间:2017-05-12

Martin Streicher 通过本文向大家介绍了mac os x10.7下载,mac os最新版本,mac os x iso镜像,mac os x安装教程,mac os iso镜像下载等相关知识,希望对您有所帮助,也希望大家多多支持微课江湖

英语是一种令人困惑的语言。例如,请考虑 moon 和 good 这两个单词。对外行人而言,这两个单词似乎应该是押韵的,但是前者的读音是 /mun/(根据 International Pronunciation Alphabet),而后者的读音是 /good/。似乎英语中的惟一规则就是例外。
UNIX shell 同样令人困惑。例如,在 Bourne shell(和大多数常用的 UNIX shell)中,'$var'、"$var" 和 `$var` 看起来相似,但是它们会产生很不一样的结果。(在本文中的 shell 示例中,每个 CLI 前面都加上使用的 shell 的名称和命令编号) 。


获取 fish
fish 是由 Axel Liljencrantz 创建的一个开放源码项目,采用的许可协议是 GNU General Public License, version 2。到编写本文时,fish 的最新版本是 1.23.0,此版本于 2008 年 1 月 13 日发布。
如果使用 UNIX 或 UNIX 类系统(比如 Linux® 或 Mac OS X),那么应该很容易在您的系统上从源代码构建 fish。下面是构建步骤,见 清单 1:
下载程序的最新源代码压缩包。
解压。
进入源代码目录。
配置构建。
运行 make。
清单 1. 从源代码构建 fish

入门
在讨论比较复杂的主题之前,我们先看看在 fish 中如何完成一些常见的 shell 任务:
要想重定向标准输入和标准输出,应该分别使用操作符 < 和 >。要想重定向标准错误,应该使用 ^ 操作符,见 图 1。使用 ^^ 把标准错误追加到一个文件中。
图 1. 用 ^ 操作符重定向标准错误
20151211114539286.jpg (465×209)

在命令 3 中,rm 产生的错误消息被重定向到 errors 文件中。命令 4 显示此文件的内容。fish shell 为重定向提供各种支持,比如把描述符组合成一个流和结束描述符。
顺便说一句,文本的颜色和下划线不是编辑出来的。shell 会在您输入时在 CLI 中突出显示文本。绿色表示命令名是有效的;无效的命令名用红色表示。下划线表示指定的文件存在。(后面一节详细讨论 shell 的反馈)。
使用圆括号(())运行子 shell,见 图 2。圆括号中的文本被解释为一系列命令,shell 会把它们替换为执行结果。
图 2. 使用圆括号运行子 shell
20151211114601888.jpg (465×209)

通过创建 fish 函数创建别名(即快捷方式)。
函数可以包含一个或多个命令,特殊变量 $argv 会自动展开成命令行上传递的参数列表。
可以用 functions 命令列出已定义的所有函数。使用 functions --erase name 删除函数,例如 functions --erase ll。
还可以立即保存在命令行上编写的任何函数。在编写完代码时,输入 funcsave name,例如 funcsave ll。在此之后,当前运行的所有 shell 和以后的所有 shell 都可以使用此函数。可以使用 funced name 命令以交互方式编辑现有的函数。funced 命令提供语法突出显示、制表符补全和自动缩进;funcsave 和 funced 使用户能够更方便地定制 shell。
输入 set variable namevalue 来设置变量。与内置命令 functions 一样,输入 set --erase variable name 就可以删除一个变量。输入美元符号($)和变量名,就可以获取变量中存储的值,见 图 3。
图 3. 检查一个变量是否存在
20151211114624758.jpg (465×209)

fish 提供 --query 选项来检查是否定义了一个变量。如果已经设置了此变量,set --query 返回状态码 0,这表示没有出现错误;否则,返回 1。语句 6 用 or 操作符连接两个命令:第二个命令(echo)只在第一个命令失败的情况下执行。
那么,fish 如何处理 $var、'$var'、"$var" 和 `$var` 呢?它遵守几条简单的规则:
如果变量包含空格,那么空格会被保留,变量总是作为单一参数,见 图 4。
图 4. fish 按原样保留字符串中嵌入的空格
20151211114640619.jpg (447×531)

如果最外边的引号是双引号,那么展开所有变量。
如果最外边的引号是单引号,那么不展开变量。
我们来看看这些规则的实际应用。
命令 1 创建四个 文件,最后一个文件的名称包含空格。命令 3 和 4 删除 file 变量指定的文件。命令 6 和 7 删除 twofiles 变量指定的两个文件。仔细看一下命令 6:因为值没有放在引号(单引号或双引号)中,所以不保留空格。因此,命令 7 把此变量展开成两个参数并删除两个文

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使Mac OS系统在命令行中显示目录树形结构的方法
  • 在Mac OS上使用Fish Shell的基础教程
  • 让Mac OS X系统启动时执行脚本的方法
  • Mac OS X系统怎么打出特殊符号?
  • 一份Mac OS 图形界面发展简史:从荒蛮走向现代
  • MAC升级OS X 10.8后Game Center无法连接怎么修复?
  • Mac OS X系统中应用程序如何安装与卸载(多种方法)
  • Mac OS X系统有没有压缩工具如何快速压缩文件
  • 关于Mac OS X5个屏幕截图功能使用介绍
  • Mac OS X系统如何将文档导出成PDF格式的方法

相关文章

  • 2017-05-12mac连不上wifi怎么办?苹果mac系统连不上wifi解决方法详细图文步骤
  • 2017-05-12MAC OS X替换Finder字体以及恢复默认值的方法
  • 2017-05-12Mac开机变慢怎么办 Mac开机速度优化小技巧
  • 2017-05-12yosemite10.10.3测试版更新内容 os x10.10.3测试版新特性
  • 2017-05-12Mac系统中无响应的程序怎么强制关闭?
  • 2017-05-12MAC系统VLC播放1080P电影卡顿的两种解决方法
  • 2017-05-12苹果macOS Sierra beta2开发者预览版固件上手视频 Apple Watch自动解锁
  • 2017-05-12MAC下通过自带的Time Machine进行系统恢复
  • 2017-05-12苹果Mac OS远程桌面到Windows系统的详细教程
  • 2017-05-12MAC怎么设置默认浏览器有哪些方法

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • os x10.10.3 beta3新特性 yosemite10.10.3beta3更新内容
    • 苹果Mac系统么安装Windows10?
    • 苹果Mac系统怎么添加词典?Mac词典词库扩充教程
    • os x10.11el capitan公测版beta5更新了什么?os x10.11el capitan公测版beta5发布下载
    • MAC系统关闭屏幕截图和清倒废纸篓音效的方法
    • Retina Mac Pro安装VirtualBox虚拟机实用教程
    • 苹果MAC系统中Fusion Drive相关使用教程图解
    • 如何将MAC与电视连接起来以获得更大的显示效果
    • 苹果macOS 10.12.4第八个测试版16E191a发布
    • Mac备份策略:更好的Mac备份指南

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有 豫ICP备12007166号