나는이 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
보시다시피 저는 파이프 하나만 사용합니다 |
.앗, 더 이상 필요하지 않으며 awk
전체 처리를 수행할 수 있습니다.