私はこのbashスクリプトを持っています:
internal = $(/ sbin/ifconfig $ adapter | grep "inet addr" | awk -F: '{print $ 2}' | awk '{print $ 1}')
$ adapter = "eth0"これは、内部が正しい値になるまで実行し、その後、スクリプトの残りの部分に移動したいのですが、どうすればそれを処理できるかについてのアイデアはありますか?
その後、SMS経由でIPを送信するためにコードを作成しました。
前もって感謝します。
これを試してください:
#!/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つだけ使用しています:|
with awk 、これ以上必要ありません、awk
は処理全体を実行できます。