对话 UNIX: 使用 fish全攻略
压缩包. 2.解压. 3.进入源代码目录. 4.配置构建. 5.运行 make. 清单 1. 从源代码构建 fish
如果使用 UNIX 类系统,configure 可能不需要更多的标志.但是,为了尽可能减少依赖性并让 fish 采用与常用 shell 相同的目录结构,可以分别添加 --without-xsel 和 --prefix=/usr.(如果使用 Mac OS X version 10.4 Leopard,那么还要添加参数 LDFLAGS=-liconv.如果在 Mac OS X 上省略后一个选项,那么无法编译附带的 fish 实用程序). 另外,如果使用流行的 UNIX 版本,很可能会找到预先构建好的二进制版本,可以把它直接安装在您的系统上.例如,如果使用 Debian Linux,那么可以用 sudo apt-get install fish 命令直接安装 fish.请访问 fish 项目的主页,了解是否有针对您的系统的二进制版本.
入门 在讨论比较复杂的主题之前,我们先看看在 fish 中如何完成一些常见的 shell 任务: 要想重定向标准输入和标准输出,应该分别使用操作符 < 和 >.要想重定向标准错误,应该使用 ^ 操作符,见 图 1.使用 ^^ 把标准错误追加到一个文件中. 图 1. 用 ^ 操作符重定向标准错误
在命令 3 中,rm 产生的错误消息被重定向到 errors 文件中.命令 4 显示此文件的内容.fish shell 为重定向提供各种支持,比如把描述符组合成一个流和结束描述符. 顺便说一句,文本的颜色和下划线不是编辑出来的.shell 会在您输入时在 CLI 中突出显示文本.绿色表示命令名是有效的;无效的命令名用红色表示.下划线表示指定的文件存在.(后面一节详细讨论 shell 的反馈). 使用圆括号(())运行子 shell,见 图 2.圆括号中的文本被解释为一系列命令,shell 会把它们替换为执行结果. 图 2. 使用圆括号运行子 shell
通过创建 fish 函数创建别名(即快捷方式). 可以用 functions 命令列出已定义的所有函数.使用 functions --erase name 删除函数,例如 functions --erase ll. 还可以立即保存在命令行上编写的任何函数.在编写完代码时,输入 funcsave name,例如 funcsave ll.在此之后,当前运行的所有 shell 和以后的所有 shell 都可以使用此函数.可以使用 funced name 命令以交互方式编辑现有的函数.funced 命令提供语法突出显示、制表符补全和自动缩进;funcsave 和 funced 使用户能够更方便地定制 shell. 输入 set variable name value 来设置变量.与内置命令 functions 一样,输入 set --erase variable name 就可以删除一个变量.输入美元符号($)和变量名,就可以获取变量中存储的值,见 图 3. 图 3. 检查一个变量是否存在
fish 提供 --query 选项来检查是否定义了一个变量.如果已经设置了此变量,set --query 返回状态码 0,这表示没有出现错误;否则,返回 1.语句 6 用 or 操作符连接两个命令:第二个命令(echo)只在第一个命令失败的情况下执行. 那么,fish 如何处理 $var、''$var''、"$va |
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |