亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 一個BASH截字符串的問題 [打印本頁]

作者: to407    時間: 2012-05-30 11:31
標題: 一個BASH截字符串的問題
手頭上有一個bash小腳本。 在bash4上可以跑,3上面不行。

大概意思是 有一串字符 如  "abcdefgh" 或者 "bcdefgh" 取的時候截掉末6位。


  1. var=abcdefgh
  2. echo ${var:0:0-6}

  3. var=bcdefgh
  4. echo ${var:0:0-6}
復制代碼
這個在我的bash4環(huán)境下能跑一切正常, 第一個得到ab  第二個得到b

但移到bash3環(huán)境下就不行了
  1. bash-3.2-147.3

  2. -bash-3.2$ echo ${var:0:0-6}
  3. -bash: 0-6: substring expression < 0
  4. -bash-3.2$
  5. -bash-3.2$ var=bcdefgh
  6. -bash-3.2$ echo ${var:0:0-6}
  7. -bash: 0-6: substring expression < 0
復制代碼
似乎舊版本不支持 最后一位為負index, 求助下~~~
作者: rdcwayx    時間: 2012-05-30 11:53
我的bash 4 也不支持, 錯誤輸出和 你的bash3相同。
$ bash --version
GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)

作者: rdcwayx    時間: 2012-05-30 11:59
用其他方法行嗎?
  1. echo $var |sed "s/.\{6\}$//"
復制代碼
  1. echo $var |awk '{print substr($0,1,length-6)}'
復制代碼

作者: sandao381    時間: 2012-05-30 12:00
回復 1# to407
  1. a=av123456
  2. echo ${a:0:${#a}-6}
復制代碼

作者: to407    時間: 2012-05-30 13:16
回復 4# sandao381


    yes it works on my old versions BASH, thanks.
作者: to407    時間: 2012-05-30 13:16
回復 3# rdcwayx


    你樓下的 一個解決方法不錯~~~




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2