对话 UNIX: 使用 fish全攻略
r" 和 `$var` 呢?它遵守几条简单的规则:
如果变量包含空格,那么空格会被保留,变量总是作为单一参数,见 图 4. 图 4. fish 按原样保留字符串中嵌入的空格
如果最外边的引号是双引号,那么展开所有变量. 命令 1 创建四个 文件,一个文件的名称包含空格.命令 3 和 4 删除 file 变量指定的文件.命令 6 和 7 删除 twofiles 变量指定的两个文件.仔细看一下命令 6:值没有放在引号(单引号或双引号)中,不保留空格.因此,命令 7 把此变量展开成两个参数并删除两个文件.命令 9 和 10 重复命令 6 和 7 中的场景. 命令 11 和 12 演示空格规则.尽管在命令 12 中变量没有放在双引号中,但是 fish 在命令 11 中保留空格.非常好. 命令 14 到 16 演示 fish 的嵌套引号规则.现在,再看一下命令 11、15 和 16.shell 使用颜色编码显示匹配的引号,以此确保语法正确.再看一下命令 9 和 11.后一个命令在文件名上显示下划线,这表示此文件存在.在命令 9 中没有下划线,这提示用户某些地方出错了. fish 的首字母代表 Friendly,对用户友好是它的主要目标.
对于新手非常有帮助的一个特性 说到对用户友好,就不能不提到 fish 的制表符补全 特性,这个新颖的特性对于 UNIX 新用户和专家都极其有帮助.为了体验制表符补全,请按下面的示例操作.在每行的末尾按 Tab 键. 如果您不确定一个命令名的拼写,可以在输入几个字母之后按 Tab,就会看到可能的完整命令的列表,见 图 5.(在您的系统上显示的命令列表可能与这里显示的不一样.此列表取决于 PATH 环境变量和您的 UNIX 系统的内容).
注意 CLI 中的红色文本.如果 fish 不认识一个命令名,就用红色显示它.按 Tab,就会显示以目前输入的字母开头的所有应用程序名(以及简短的描述).在空提示行上按 Tab,就会看到 PATH 中的所有应用程序. 如果想了解一个命令的可用选项,那么在连字符(-)或双连字符(--)后面按 Tab,见 图 6.
此时,fish 会显示可用的选项.shell 维护许多常用命令和选项的索引,您很可能能够得到所需的帮助.但是,定制的或更复杂的实用程序可能缺少这种数据.可以阅读 fish 文档,了解关于编写自己的补全特性的更多信息. 还可以在输入选项的几个字母之后按 Tab,见 图 7.shell 会显示所有匹配的选项.
如果您不知道一个命令处理的操作数类型,fish 在许多情况下可以提供帮助,但并不是在所有情况下都可以.例如,如果输入 set(或 vared,即 fish 变量编辑器)和一个空格,然后按 Tab,fish 会显示可用变量的列表.set 的操作数是一个变量.同样,如果输入 type 和一个空格,然后按 Tab,fish 会显示内置函数的列表,这些函数扩展文件系统上可用的实用程序. 在一般情况下,fish 中的所有内置函数都有上下文相关的操作数补全.请试一下 cd,见 图 8.
cd 函数是一个 fish 函数,它的操作数是一个现有的目录.在输入 cd 之后按 Tab,fish 会显示 CDPATH 中的每个目录包含的所有现有目录. 另一个智能化补全与 ssh 相关.输入 ssh 和一个空格,然后按 Tab,就会看到从 Secure Shell 已知主机文件(通常在 ~/.ssh/known_hosts 中)获取的已知主机名列表:
fish shell 还会补全文件名和目录名.同样,它会在您输入路径名时突出显示正确的元素.
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |