|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教:怎樣判斷一個系統環境變量是否存在
在shell中有像getenv這樣的函數嗎 |
請教:怎樣判斷一個系統環境變量是否存在
用shell的-n來判斷,例如判斷$SHELL是否存在
[code]
[[ -n $SHELL ]]&&echo exist||echo No exist[/code] |
請教:怎樣判斷一個系統環境變量是否存在
謝謝寂寞烈火,你能告訴我為什麼要用兩個[[ .....]],用一個就不好使了,我試了.??? |
請教:怎樣判斷一個系統環境變量是否存在
| 請教:怎樣判斷一個系統環境變量是否存在
又長知識了 |
請教:怎樣判斷一個系統環境變量是否存在
謝謝~ |
請教:怎樣判斷一個系統環境變量是否存在
烈火兄,我看了那個代碼,想請教你一下
為什麼不能夠使用echo $SHELL來看時候存在呢?
我想是不是因為有null和unset兩種情況,因為在這樣的兩種情況下echo的結果是一樣的
但是[[ -n $SHELL ]]這個意思就是看看$SHELL是不是非空串,難道在null和unset兩種情況下,會出現不同的結果麼?
這個帖子題目的問題說系統變量是否存在,到底是說unset還是null,或者既是null也是unset |
請教:怎樣判斷一個系統環境變量是否存在
-->
判斷到方法很多很多,:) |
請教:怎樣判斷一個系統環境變量是否存在
烈火兄
能不能寫一個把null和unset可以分開的shell?
謝謝! |
請教:怎樣判斷一個系統環境變量是否存在
注意,腳本必須用source或.命令在父SHELL裡運行
不然腳本得不到為export的變量
[code]#!/bin/bash
if set|egrep "^$1=">/dev/null
then eval [ -z "\$$1" ] && echo null || eval echo "\$$1"
else echo unset
fi[/code]
TEST
[code][root@bbhome test]# source ./testvar abc
123
[root@bbhome test]# abc=
[root@bbhome test]# source ./testvar abc
null
[root@bbhome test]# unset abc
[root@bbhome test]# source ./testvar abc
unset
[/code] |
請教:怎樣判斷一個系統環境變量是否存在
env | grep '^VAR_NAME=' |
| |