Gore Liu 6 years ago
parent
commit
90342c1d52

+ 7 - 7
02_Zsh-开发指南(第二篇-字符串处理之常用操作).md

@@ -90,7 +90,7 @@ abc
 3
 
 # I 是从右往左找,如果找不到则为 0, 方便用来判断
-% (( $str[(I)cd] )) && echo good
+% (($str[(I)cd])) && echo good
 good
 
 # 找不到则为 0
@@ -204,14 +204,14 @@ a2345defg
 如果用 [[ "$strxx" == "" ]] ,那无法区分变量是没有定义还是内容为空,在某些情况是需要区分二者的。
 
 ```
-% (( $+strxx )) && echo good
+% (($+strxx)) && echo good
 
 % strxx=""
-% (( $+strxx )) && echo good
+% (($+strxx)) && echo good
 good
 ```
 
-(( $+var )) 的用法也可以用来判断其他类型的变量,如果变量存在则返回真(0),否则返回假(1)。
+(($+var)) 的用法也可以用来判断其他类型的变量,如果变量存在则返回真(0),否则返回假(1)。
 
 ### 字符串匹配判断
 
@@ -222,7 +222,7 @@ good
 % str2=bc
 
 # 星号要在引号外边
-% [[ "$str1" == *"$str2"* ]] && echo good
+% [[ $str1 == *$str2* ]] && echo good
 good
 ```
 
@@ -234,7 +234,7 @@ good
 # 少量字符串的话,尽量不要用 grep
 # 本文不讲正则表达式格式相关内容
 # 另外 zsh 有专门的正则表达式模块
-% [[ "$str" =~ "c[0-9]{2}\de" ]] && echo a
+% [[ $str =~ "c[0-9]{2}\de" ]] && echo a
 a
 ```
 
@@ -347,7 +347,7 @@ echo ${"$(<test.txt)"[(fr)*pp*]#line}
 
 读进程输出和读文件类似。
 
-上边字符串相关的处理,直接把 $(<test.txt) 换成 $(命令) 即可。如果一定需要一个文件名,可以这样。
+上边字符串相关的处理,直接把 \$(<test.txt) 换成 \$(命令) 即可。如果一定需要一个文件名,可以这样。
 
 ```
 # 返回 fd 路径,优先使用,但某些场景会出错