次のような bash スクリプトがあります:
内部 = $(/sbin/ifconfig $adapter | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}')
$adapter="eth0" 内部に正しい値が設定されるまでこれを実行し、その後スクリプトの残りの部分に移動したいのですが、これをどのように処理すればよいか、何かアイデアはありますか?
その後、SMS 経由で 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
ご覧のとおり、私はパイプを1つだけ使用しています|
。awk、それ以上の必要はありません、awk
全体の処理を行うことができます。