Синтаксическая ошибка в awk программе

Я хочу проверить метод Присвоения IP как в этом вопросе. Я выполняю его в ударе на Ubuntu 12.04. Моей проблемой является функция "get_con_id ()", дает мне "Синтаксическую ошибку" в условном придаточном предложении. Сценарий как следует (неизмененный из ответа в данном вопросе):

 #!/bin/sh

 # get the connection id of the active connection    
 get_con_id() {
   nm-tool |
     awk '
       $1 == "-" {
         dev = $3
         id = dev
         if (NF > 4 && match($0, "\\[(.*)\\]", a))
           id = a[1]
       }
       /^ / && $1 == "State:" && $2 == "connected" {
         print id
       }'
 }

 # get the address type of the active connection
 nmcli con list id "$(get_con_id)" |
   awk '
     $1 == "ipv4.method:" {
       if ($2 == "manual")
         print "static"
       else if ($2 == "auto")
         print "dynamic"
       else
         print "unknown"
     }'
1
задан 13 April 2017 в 15:23

1 ответ

Вы используете mawk, но для этого сценария требуется gawk.

sudo apt-get install gawk

Он автоматически сбросит awk на gawk, чтобы скрипт работал. Если он не будет сброшен, просто измените каждый awk в скрипте на gawk.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: