Echo
echo 如何解析 $100?
我正在學習
echo
命令:$ echo $100 00 $ echo $1 $
那麼為什麼
echo
解析$1
為未定義的變數並在零之後列印而不是$100
作為一個整體?我正在使用 Ubuntu 14.04。
位置參數,
$1
,$2
, …,$9
包含傳遞給目前 shell 或 shell 函式的命令行參數。該字元串$100
將被解釋為$1
後跟兩個零。這將是00
如果$1
未設置或為空。在腳本中顯式設置前三個位置參數並對其進行測試:
set -- a b c echo "$100 $200 $300"
這導致輸出
a00 b00 c00
由於超過 9 的位置參數需要使用 eg 來訪問,因此在後面的和“位置參數 10 或 100”
${10}
之間沒有歧義(因為沒有括號)。$1``00
如果您想列印文字 string
$100
,那麼您必須$
從 shell 中轉義 ,或使用單引號:echo \$100 echo '$100'