Gore Liu 6 years ago
parent
commit
543effaf3c
1 changed files with 8 additions and 7 deletions
  1. 8 7
      01_Zsh-开发指南(第一篇-变量和语句).md

+ 8 - 7
01_Zsh-开发指南(第一篇-变量和语句).md

@@ -137,8 +137,7 @@ def
 % num=123
 # (( )) 用于数值比较等操作,如果为真返回 0,否则返回 1
 # && 后边的语句在前边的语句为真时才执行
-# 双等号可以替换成单等号,可以根据自己的习惯选用,其他多数地方也是如此
-# 本系列文章统一使用双等号,因为使用双等号的常用编程语言更多些
+# 注意这里只能使用双等号来比较
 % ((num == 123)) && echo good
 good
 # (( 里边可以使用与(&&)或(||)非(!)操作符,同 c 系列语言
@@ -146,13 +145,15 @@ good
 
 # 比较字符串
 % str=abc
-# 比较字符串要用 [[,内侧要有空格,字符串最好用引号包含,避免产生语法错误
-# 不需要 x"$str" == x"abc" 之类的用法
-% [[ "$str" == "abc" ]] && echo good
+# 比较字符串要用 [[,内侧要有空格,[[ 的具体用法之后会讲到
+# 这里双等号可以替换成单等号,可以根据自己的习惯选用
+# 本系列文章统一使用双等号,因为和 (( )) 一致,并且使用双等号的常用编程语言更多些
+# $str 两侧不需要加双引号,即使 str 未定义或者 $str 中含空格和特殊符号
+% [[ $str == abc ]] && echo good
 good
 # 可以和空字符串 "" 比较,未定义的字符串和空字符串比较结果为真
-# [[ 里也可以用 && || !,但不能随意加小括号,[[ 的用法比 (( 要严格很多
-% [[ "$str" == "" || "str" == "123" ]] && echo good
+# [[ 里也可以用 && || !
+% [[ $str == "" || $str == 123 ]] && echo good
 ```
 
 ### 语句