1. 程式人生 > >系統無ifconfig,一條命令獲取本機ip並將其賦值給指定變數來使用

系統無ifconfig,一條命令獲取本機ip並將其賦值給指定變數來使用

在Linux系統中,準確地獲取本機IP資訊是非常有用的。在寫bash shell指令碼事經常會用到IP,這時就需要我們使用一些辦法獲取本機IP並賦值給變數來使用。最近剛剛完成grep及sed的摸索、研究,本著學以致用的原則,用一條命令獲取本機IP並將其賦值給某個變數來使用。由於CentOS7.2中已經不再整合ifconfig我們就使用系統自帶的ip命令來完成這一系列實驗。

一、獲取本機IP

[[email protected] ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/^.*inet //g'|sed 's/\/[0-9][0-9].*$//g'
10.1.1.21

在此條命令中,-w指定完全匹配,global進一步限定了範圍,後面的兩個sed則替換了指定行中的無關部分。此時命令也可以寫成:

[[email protected] ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/.*inet //g'|sed 's/\/[0-9][0-9].*$//g'

上面的命令中有一個空格,為了更好地區分開來,寫成如下:

[[email protected] ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/.*inet.//g'|sed 's/\/[0-9][0-9].*$//g'
10.1.1.21

二、把指定獲取到的值賦給指定變數(兩種方法)

[[email protected] ~]# echo $IP

[[email protected] ~]# IP=$(ip a|grep -w 'inet'|grep 'global'|sed 's/^.*inet //g'|sed 's/\/[0-9][0-9].*$//g')
[[email protected] ~]# echo $IP
10.1.1.21
[[email protected] ~]# unset IP
[[email protected] ~]# echo $IP

[[email protected]
~
]# IP=`ip a|grep -w 'inet'|grep 'global'|sed 's/^.*inet //g'|sed 's/\/[0-9][0-9].*$//g'` [[email protected] ~]# echo $IP 10.1.1.21

相關推薦

系統ifconfig命令獲取ip指定變數使用

在Linux系統中,準確地獲取本機IP資訊是非常有用的。在寫bash shell指令碼事經常會用到IP,這時就需要我們使用一些辦法獲取本機IP並賦值給變數來使用。最近剛剛完成grep及sed的摸索、研究,本著學以致用的原則,用一條命令獲取本機IP並將其賦值給某個

Java中讀取配置檔案中的內容靜態變數的方法

應用場景 專案開發中某個功能需要抽取成方法寫成一個工具類,提供給別人使用。寫過工具類的人都知道,工具類中的方法一般都是靜態方法,可以直接使用類名點方法名呼叫, 使用很方便,比如判斷某個物件是否為空的方式Objects.equals().由於我寫的這個工具類中需要讀取配置檔案中的內容,但是常規方法注入成員變數時

關於ajax請求資料資料全域性變數的一些解決方法

在使用ajax請求資料是,開始的時候是打算將ajax的資料取出,並賦予給全域性變數,但是在實際編碼過程中發現並不能將資料賦予給最開始定義的全域性變數,出現這個問題的原因是由於ajax非同步載入的原因,所以只能用其他方法來解決,下來是解決的方法 第一個解決方法沒有使用全域性變數,直接在ajax請求中將請求到的

Android獲取IP轉換為ipv4的形式

//獲取本機IP地址 private String getLocalIpAddress() throws UnknownHostException { WifiManager wifiManager = (WifiManager) getSystemService(W

【轉】SSH穿越跳板命令跨越跳板直接登陸遠程計算機

spa 適合 這樣的 跳板 封裝 直接 windows lai 必須 轉自:http://mingxinglai.com/cn/2015/07/ssh-proxycommand/ 今天在公司搭建跳板機,遇到一個比較麻煩的問題,這裏簡單記錄一下,希望對有相同問題的人有所幫助

獲取IP(適用於Linux系統)

tex cat 獲取本機 smo cal network enum print inet6 獲取本機IP(適用於Linux系統) /** * @desc 獲取本機IP(適用於Linux系統) * @return Ip */ public static String getL

getifaddrs()和struct ifaddrs的使用獲取IP

      ifaddrs結構體定義如下: C程式碼   struct ifaddrs    {       

使用Linux curl命令獲取公網IP地址

使用Linux curl命令獲取本機公共IP地址   在本教程中,我們將學習如何使用Linux curl命令查詢計算機的公共IP地址。 通常,如果我們想要找到我們使用的公共IP地址,我們會去谷歌並搜尋“我的IP地址是什麼”。但是如果使用Linux,則可以使用curl命令從命令列

textarea 自動撐開鍵儲存html表單+html生成新頁面+

內容超過預設高度時出現滾動輪前,js動態增加textarea高度。 <textarea name="fgzb1-1"  onpropertychange="this.style.height = this.scrollHeight + 'px';" &nb

python 獲取IP地址檢測埠是否被佔用

import socket def get_host_ip(): """ get host ip address 獲取本機IP地址 :return: """ s = socket.socket(socket.

C語言 獲取IP地址非迴環地址

#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #inc

獲取IP地址的小腳

ash class p地址 nbsp 地址 int done 獲取本機 onf 獲取本機私網地址(1個) 1 #!/bin/bash 2 # Author : standby 3 # Date : 2017-05-18 4 # D

unity 獲取ip地址

ipa mil work get hostname [] 本機 取ip gethost IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName()); //Dns.GetHostName()獲取本機名Dns.GetH

qt獲取ip

獲取本機ip host == spa 獲取本機ip地址 contains proto post bstr //獲取本機IP QString getIP(QString localHost) { QString ipAddr; #if 0

獲取IP地址

down pos -m 兩個 div mar inter 獲取本機ip地址 work 問題描述 一臺電腦有IPV4地址和IPV6地址,目前使用的基本是IPV4地址, 有些情況還有多個網卡,有線的、無線的、還有vmare虛擬的兩個網卡。 獲取所有的IP地址 //獲取本機IP

獲取IP及在IP的基礎上自增1(只針對有一個IP的機器)

turn else data 返回 主機名 add cleanup done get 1、獲取本機IP 1 char* getLocalIP() 2 { 3 WSADATA wsaData; 4 int err = WSAStartup(MAKEW

windows下用C++獲取IP地址

ali 返回 轉換成 data info AC ctrl nag != BSTR CamUtilsCtrl::GET_TERM_IP(void){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CString strResult

獲取IP

AD new pad address cal 獲取本機 etl foreach 形式 public static String GetLocalIp() {   String[] Ips = GetLocalIpAddress();

python 獲取IP

socket gets () close sock nal net get def 1 def get_host_ip(): 2 """ 3 查詢本機ip地址 4 :return: ip 5 """ 6 try: 7

python 獲取IP的三種方式

gif spa .get ESS usr span eth byname file python獲取本機IP的方式 第一種: #!/usr/bin/python import socket import fcntl import struct def ge