“Zsh”的版本间的差异

来自wrc's Wiki
跳到导航 跳到搜索
(建立内容为“== 变量 == 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> 然后查看补全信息。
+
形如 {{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)
  
=== 数组下标选项 ===
+
=== 数组 ===
 
 
如 {{code|zsh|$array[(FLAG)...]}}。
 
 
 
== 数组 ==
 
  
 
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] ))