有熱心網友來信,說第 15 個用例 "'A" 中的 A 後面少了一個單引號....
其實,這是正確的寫法。茲說明如下:
在 Bash 中,使用 printf 時,若字元左方(或稱:在字元前面)有單引號或雙引號, 則該字元會替換成對應的 ASCII 值。
因此,以下兩種寫法都是可以的:
1. 若字元前導的是單引號,則要用雙引號 " " 含括,以免在命令列解譯錯誤,例如: printf "%x\n" "'A" 2. 若字元前導的是雙引號,則要用單引號 ' ' 含括,以免在命令列解譯錯誤,例如: printf "%x\n" '"A' 以上兩個用例,都會印出字元 A 的 ASCII 值 41(16 進位)。 |
由於 Bash 規定如此,因此,就不需要再於字元的後面加上對稱的單引號或雙引號了。