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

Chinaunix

標題: 為何無法輸出數(shù)值 [打印本頁]

作者: 338378WN8    時間: 2014-09-28 09:56
標題: 為何無法輸出數(shù)值
寫個shell 語句,需要判斷os的版本是el5還是el6。
uname -a|grep el5&&VERSION=5||(uname -a|grep el6&&VERSION=6&&VERSION=0)

在5上面測試正常
[root@vmrhel01 ~]# uname -a|grep el5&&VERSION=5||(uname -a|grep el6&&VERSION=6&&VERSION=0)
Linux vmrhel01 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@vmrhel01 ~]# echo $VERSION
5

在6上面測試失敗
[root@lxtmpf01 ~]# uname -a|grep el5&&VERSION=5||(uname -a|grep el6&&VERSION=6&&VERSION=0)
Linux lxtmpf01 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@lxtmpf01 ~]# echo $VERSION

[root@lxtmpf01 ~]#

這是為什么啊
作者: bulletmarquis    時間: 2014-09-28 10:15
本帖最后由 bulletmarquis 于 2014-09-28 10:16 編輯

回復 1# 338378WN8




大括小括傻傻分不清楚


另外括號里面兩個&&是幾個意思?
作者: hjfeng1988    時間: 2014-09-28 10:34
回復 1# 338378WN8

把括號去掉。另外后面兩次&&
   
作者: bulletmarquis    時間: 2014-09-28 10:59
本帖最后由 bulletmarquis 于 2014-09-28 11:00 編輯

回復 1# 338378WN8

    用小括號,是在子進程里面操作,你在子進程里面給變量賦值,哪里能讀的到。。。
  1. uname -a|grep el5&&VERSION=5||{ uname -a|grep el6&&VERSION=6||VERSION=0; };echo $VERSION
復制代碼

作者: chengchow    時間: 2014-09-28 11:01
shell>  uname -r | sed -r 's/.*el(.).*/\1/'
6
作者: bulletmarquis    時間: 2014-09-28 11:03
回復 5# chengchow


    風險大大的

    如果uname -r匹配不到這個el,怎么破
作者: chengchow    時間: 2014-09-28 11:23
本帖最后由 chengchow 于 2014-09-28 11:25 編輯

回復 6# bulletmarquis

無論你怎么寫也無法匹配所有的版本
比如說我用gentoo uname -r內(nèi)容是"內(nèi)核版本號-gentoo",怎么都匹配不出來
...
如果僅僅是想看redhat/centos的版本號,沒那么麻煩/etc/redhat-release記錄的就是帽子黨系統(tǒng)的版本號
你匹配這個文件更容易點,匹配數(shù)字開頭到數(shù)字結尾的就可以了
grep -Po '[0-9]+\.[0-9]*|[0-9]+' /etc/redhat-release
5.5
   
作者: bulletmarquis    時間: 2014-09-28 11:29
回復 7# chengchow


    其實LZ的需求還是很單純的,只要求在匹配不到的時候設為VERSION=0
作者: chengchow    時間: 2014-09-28 11:40
回復 8# bulletmarquis

這個確實沒留意LZ意向!以為LZ想獲取版本號,順手寫了個
   
作者: 338378WN8    時間: 2014-09-28 11:52
謝謝各位dada




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