shell test -n中細節的用法

來源:互聯網
上載者:User

 

#!/bin/bash

#Add the hostname
read -p  "Please input your hostname:" Hostname

old=`cat /etc/sysconfig/network | grep HOSTNAME | awk -F= '{print $2}'`
sed -i "s/$old/$Hostname/g"  /etc/sysconfig/network

echo "The /etc/sysconfig/network has changed,please check:"
echo "========================================="
cat /etc/sysconfig/network
echo "========================================="

ADDR=`ifconfig | grep Bcast | awk '{print $2}' | awk -F: '{print $2}'`
Hostn=`echo $Hostname|awk -F. '{print $1}'`
flage=`grep $ADDR /etc/hosts`
if [ -n "$flage" ];then
 sed -i "/^$ADDR/d" /etc/hosts
fi
echo "$ADDR          $Hostname  $Hostn" >> /etc/hosts

我在測試的過程中,就是標綠色的部門出現了問題,那一步本來是if [ -n "$ADDR" ];then

我一直百思不得其解,原來-n就是字串大於0,即存在。那麼我們想想:它存在,具體是存在在哪裡呢,這就是關鍵,也因此可見flage的重要性,另外$flage

是變數,所以必須加上引號!

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.