作者 主題: 請教 shell 下賦予變數值觀念  (閱讀 1978 次)

0 會員 與 1 訪客 正在閱讀本文。

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
請教 shell 下賦予變數值觀念
« 於: 2003-07-15 06:16 »
連續空隔:
代碼: [選擇]

x='a b' ; echo $x 得到 #a b

x='a  b' ; echo $x 此時 ab 之間為兩個(或以上)的空隔
得到 #a b
這時之間的連續空隔 , 則省略成一個 ... 不知為何呢?
又該如何解決呢?


ps :
上述中 echo ${x[0]} , 竟是 #a b
但一樣空隔被簡略
而 x=(a  b) 改用

thyme

  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 1281
    • 檢視個人資料
請教 shell 下賦予變數值觀念
« 回覆 #1 於: 2003-07-15 11:45 »
echo "$x"

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
請教 shell 下賦予變數值觀念
« 回覆 #2 於: 2003-07-15 14:24 »
引述: "thyme"
echo "$x"


真的是這樣說...

代碼: [選擇]
x='a  bc'
test "$(echo "$x" | grep 'a  b')" = 'a  bc' && echo "$x"

這樣都行得通... 第一個 test 變數中 , 雙引號中有雙引號 , 竟然還不出錯
真是出乎意料...

多謝 thyme 學長

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
請教 shell 下賦予變數值觀念
« 回覆 #3 於: 2003-07-15 14:39 »
ps
看來.. 原因是出在 echo

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
請教 shell 下賦予變數值觀念
« 回覆 #4 於: 2003-07-15 16:24 »
原因在  ( ) ...
就好像 4+3x2 跟 (4+3)x2 是不一樣的,
差在 priority 上...