我有這段 bash 腳本:
內部=$(/sbin/ifconfig $adapter | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}')
$adapter="eth0" 我想執行此操作,直到內部具有正確的值,然後我想轉到腳本的其餘部分您知道我如何處理這個問題嗎?
之後我對其進行編碼以便通過短信發送IP!
先感謝您。
答案1
嘗試這樣做:
#!/bin/bash
PATH+=/sbin
adapter=eth0
internal=""
until [[ $internal =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]]; do
sleep 1
internal=$(
ifconfig "$adapter" |
awk -F'(inet add?r:| +|:)' '/inet add?r/{print $3}'
)
done
# send sms
正如你所看到的,我只使用一根管道|
:awk,無需更多,awk
即可完成整個加工。