“Zsh”的版本间的差异
跳到导航
跳到搜索
(建立内容为“== 变量 == Zsh 变量无需加引号。如需要按照空格分割,使用 {{code|zsh|2=$=variable}} 或者 {{code|zsh|2=${=variable}<nowiki/>}}。 === 变…”的新页面) |
|||
第5行: | 第5行: | ||
=== 变量展开选项 === | === 变量展开选项 === | ||
− | + | 形如 {{code|zsh|${(FLAG)variable}<nowiki/>}}。参考 [http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags 14.3.1 Parameter Expansion Flags]。也可通过打出 <code>${(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。 | |
常用选项: | 常用选项: | ||
第25行: | 第25行: | ||
: 一个关系数组的键和值(value) | : 一个关系数组的键和值(value) | ||
− | === | + | === 数组 === |
− | |||
− | |||
− | |||
− | = | ||
Zsh 数组下标从 1 开始。 | Zsh 数组下标从 1 开始。 | ||
第44行: | 第40行: | ||
array+=($ele) | array+=($ele) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === 数组下标选项 === | ||
+ | |||
+ | 形如 {{code|zsh|$array[(FLAG)sub]}}。参考 [http://zsh.sourceforge.net/Doc/Release/Parameters.html#Subscript-Flags 15.2.3 Subscript Flags]。也可通过打出 <code>$a[(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。 | ||
+ | |||
+ | ; <code>I</code> | ||
+ | : 返回 <code>sub</code> 在数组 <code>$array</code> 中的最后一次出现的下标 | ||
+ | ; <code>i</code> | ||
+ | : 同上,不过返回的是第一次出现的下标 | ||
+ | |||
+ | 判断数组 <code>$path</code> 中是否含有 <code>/bin</code>: | ||
+ | <syntaxhighlight lang=zsh> | ||
+ | (( $path[(I)/bin] )) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | [[Category:Command Line]] |
2021年4月16日 (五) 00:16的版本
变量
Zsh 变量无需加引号。如需要按照空格分割,使用 $=variable
或者 ${=variable}
。
变量展开选项
形如 ${(FLAG)variable}
。参考 14.3.1 Parameter Expansion Flags。也可通过打出 ${(
然后按 TAB 查看补全信息。
常用选项:
F
- 用换行符连接数组元素
j:string:
- 用 string 连接数组元素。如果 string 中包含
:
,可将两个:
换成其它字符,只要两字符相同。 s:string:
- 用 string 分割变量内容
q
- 将特殊符号用反斜线 escape
q-
- 将特殊符号用单引号包裹
Q
- 去掉一层反斜线 escape
k
- 一个关系数组(associative array)的所有键(key)
kv
- 一个关系数组的键和值(value)
数组
Zsh 数组下标从 1 开始。
在数组最前加入一个元素(prepend)
array=($ele $array)
在数组最后加入一个元素(append)
array=($array $ele)
# 或者
array+=($ele)
数组下标选项
形如 $array[(FLAG)sub]
。参考 15.2.3 Subscript Flags。也可通过打出 $a[(
然后按 TAB 查看补全信息。
I
- 返回
sub
在数组$array
中的最后一次出现的下标 i
- 同上,不过返回的是第一次出现的下标
判断数组 $path
中是否含有 /bin
:
(( $path[(I)/bin] ))