查看“Zsh”的源代码
←
Zsh
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
{{lowercase}} == 变量 == Zsh 变量无需加引号。如需要按照空格分割,使用 {{code|zsh|2=$=variable}} 或者 {{code|zsh|2=${=variable}<nowiki/>}}。 判断变量是否存在:{{code|zsh|$+variable}},为 1 即存在。判断 associative array 是否有某一个键:{{code|zsh|$+hash[key]}}。特别地,判断一个命令是否存在 <syntaxhighlight lang=zsh> (( $+commands[nvim] )) && echo 'nvim exists' </syntaxhighlight> === 变量展开选项 === 形如 {{code|zsh|${(FLAG)variable}<nowiki/>}}。参考 <ref>[http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags 14.3.1 Parameter Expansion Flags]</ref>。也可打出 <code>${(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。 ==== 常用选项 ==== ; <code>F</code>: 用换行符连接数组元素 ; <code>j:''string'':</code>: 用 ''string'' 连接数组元素。如果 ''string'' 中包含 <code>:</code>,可将两个 <code>:</code> 换成其它字符,只要两字符相同。 ; <code>s:''string'':</code>: 用 ''string'' 分割变量内容 ; <code>q</code>: 将特殊符号用反斜线 escape ; <code>q-</code>: 将特殊符号用单引号包裹 ; <code>Q</code>: 去掉一层反斜线 escape ; <code>k</code>: 一个关系数组(associative array)的所有键(key) ; <code>kv</code>: 一个关系数组的键和值 ==== 例子 ==== ; {{code|zsh|${(j: :)${(q-)@}<nowiki/>}<nowiki/>}} : 将 shell 参数数组变为 escape 后的一个参数 === 数组 === Zsh 数组下标从 1 开始。 在数组最前加入一个元素(prepend) <syntaxhighlight lang=zsh> array=($ele $array) </syntaxhighlight> 在数组最后加入一个元素(append) <syntaxhighlight lang=zsh> array=($array $ele) # 或者 array+=($ele) </syntaxhighlight> === 数组下标选项 === 形如 {{code|zsh|$array[(FLAG)sub]}}。参考 <ref>[http://zsh.sourceforge.net/Doc/Release/Parameters.html#Subscript-Flags 15.2.3 Subscript Flags]</ref>。也可打出 <code>$a[(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。 ; <code>I</code>: 返回 <code>sub</code> 在数组 <code>$array</code> 中的最后一次出现的下标,不存在则返回 0 ; <code>i</code>: 同上,不过返回的是第一次出现的下标 判断数组 <code>$path</code> 中是否含有 <code>/bin</code>: <syntaxhighlight lang=zsh> (( $path[(I)/bin] )) && echo '/bin is in $path' </syntaxhighlight> == 参数 == 一些特殊的 zsh 变量,用于控制 zsh 的行为。另见 [https://man.archlinux.org/man/extra/zsh/zshparam.1.en <code>man zshparam</code>]。 ; <code>WORDCHARS</code> : 被视为 word 组成部分的字符,类似于 Vim 中的 <code>iskeyword</code> : 我的配置:<code>WORDCHARS="-"</code> ; <code>ZLE_SPACE_SUFFIX_CHARS</code> : 在补全后可能会有后缀字符(如补全目录后的 <code>/</code>,补全一个参数后的空格),在后缀字符后输入此变量中字符时,后缀字符换成空格 : 我的配置:<code>ZLE_SPACE_SUFFIX_CHARS='&|'</code> : 如:在 <code>ls dir</code> 补全后变成 <code>ls dir/</code>,再输入一个 <code>|</code> 时命令行变成 <code>ls dir |</code> == ZLE Functions == <ref>[http://zsh.sourceforge.net/Doc/Release/Editor-Functions-Index.html Editor Functions Index]</ref> ; <code>auto-suffix-remove</code> : 如果存在,移除自动被加入的 suffix(如空格或 /) ; <code>beginning-of-line</code> : 移动到行首 == 外部链接 == * [https://blog.skk.moe/post/make-oh-my-zsh-fly/ 我就感觉到快 —— zsh 和 oh my zsh 冷启动速度优化 | Sukka's Blog] == 参考资料 == <references /> [[Category:Command Line]]
该页面使用的模板:
模板:Code
(
查看源代码
)
模板:Lowercase
(
查看源代码
)
返回至
Zsh
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息