Здравствуйте!
Пытаюсь записать ip адрес сетевого адаптера в переменную и потом полученный ip адрес вставить в файл, вот сам скрипт
#!/bin/bash
PATH=/etc/3proxy:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
echo -e "AT^RESET\r\n" >/dev/ttyUSB2
killall 3proxy
sleep 20
echo -en 'AT^NDISDUP=1,1,"internet.tele2.ru"\r\n' > /dev/ttyUSB2
#IP=`ip addr show wwp0s6u2i1 | grep -oP `inet \K\S[0-9.]+``
ip=$(ip addr show wwp0s6u2i1 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)
echo "" > /etc/3proxy/3proxy.cfg
cat > /etc/3proxy/3proxy.cfg << END
monitor /etc/3proxy/3proxy.cfg
daemon
timeouts 1 5 30 60 180 1800 15 60
maxconn 5000
nscache 65535
log /dev/null
flush
proxy -n -a -p8000 -i192.168.1.55 -e$ip
END
/usr/bin/3proxy /etc/3proxy/3proxy.cfg
Если я вставляю команду в консоль то она возвращает ip адрес адаптера, т.е сама команда работает
ip addr show wwp0s6u2i1 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1
Но если запускаю скрипт то переменная в которую записывается результат почему то пустая.
Пробовал создавать переменную с текстовой строкой, значение переменной передается, но вот именно значение этой команды не передаются.
По идее на выходе файл должен выглядеть так
monitor /etc/3proxy/3proxy.cfg
daemon
timeouts 1 5 30 60 180 1800 15 60
maxconn 5000
nscache 65535
log /dev/null
flush
proxy -n -a -p8000 -i192.168.1.55 -e(Тут должен быть ip из переменной)
Подскажите пожалуйста в чем может быть проблема?