簡體   English   中英

BASH特定設備的特定IP地址

[英]BASH specific ip address for specific device

我似乎無法使這件事起作用。 我需要驗證特定卡上的特定IP地址。 我創建了一個簡單的函數,該函數接收兩個變量,設備名稱( $1 )和ip地址( $2 )。 我還需要返回true / false(0/1)的值。 測試工作正常(我使用了調試代碼),但是返回值始終為空。 它必須是一個函數,因為它將被多次調用。 我已經嘗試過幾種返回值的變體,但似乎都返回空白。 這是我的最新迭代。

#!/bin/bash

function ip_addr_tst()
{ 
    ip addr show dev $1|fgrep -q "$2"
    if [ $? -eq 0 ]; then
        retval=0
        echo "found"
    else
        retval=1
        echo "not found"
    fi
    return "$retval"
}

answer=$(ip_addr_tst ens192 192.168.2.180)
echo $answer

所以我用echo $? 而且有效。 我使用了正確的網卡/ IP地址進行了測試,它運行良好。 只是人們可以看到

函數ip_addr_tst(){

ip addr show dev $ 1 | fgrep -q“ $ 2”

if [ $? -eq 0 ]; then
    retval=0
    echo "found"
else
    retval=1
    echo "not found"
fi
return "$retval"

}

答案= $(ip_addr_tst ens192 192.168.2.180)

回聲$?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM