Linux shell if [ -n ] 正確使用方法__Linux

來源:互聯網
上載者:User
if [ str1 = str2 ]       當兩個串有相同內容、長度時為真 
if [ str1 != str2 ]      當串str1和str2不等時為真 
if [ -n str1 ]       當串的長度大於0時為真(串非空) 
if [ -z str1 ]        當串的長度為0時為真(空串) 
if [ str1 ]         當串str1為非空時為真

shell 中利用 -n 來判定字串非空。

錯誤用法:

ARGS=$*

if [ -n $ARGS  ]

then

   print "with argument"

fi

print " without argument"

不管傳不傳參數,總會進入if裡面。

原因:因為不加“”時該if語句等效於if [ -n ],shell 會把它當成if [ str1 ]來處理,-n自然不為空白,所以為正。

正確用法:需要在$ARGS上加入雙引號,即"$ARGS".

ARGS=$*

if [ -n "$ARGS"  ]

then

   print "with argument"

fi

print " without argument"


著作權聲明:本文為轉載文章,來源於 ciky2011 ,著作權歸原作者所有,歡迎分享本文,轉載請保留出處。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.