с выдачей команды для выполнения функции броузера в сценарии BASH.Использование кода сценария оболочки, переданного в качестве аргумента функции
Команда: [named -V|grep BIND|awk '{printf ($2);}']
работает в оболочке, но не устанавливает вывод в переменную.
Желаемая выход для $VER
должно быть: 9.8.1-P1
Я считаю, что этот вопрос является |
Однако, я получаю:
BIND 9.8.1-P1 built with '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--localstatedir=/var' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--enable-ipv6' 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'
, если у вас есть информация, пожалуйста, дайте мне знать
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
function version {
if [ `builtin type -p $3` ]; then
VER=`$2`
if [[ -n $VER ]]; then
# echo "$VER" > $DIR/ver/$1
echo "VER=$VER"
PID=$(pidof $3)
if [[ -n "$PID" ]]; then
# echo "$PID" > $DIR/pid/$1
echo "PID=$PID"
fi
fi
else
echo "$1 not installed"
fi
}
version "bind" "named -V|grep BIND|awk '{printf ($2);}'" "named"
СПАСИБО СМОТРЕТЬ БОЛЬШЕ. я стучал головой по столу в течение 4 часов – user3175622
Что такое сделка с '/ BIND' /? Я понимаю беглые символы NeverMind я вижу, что вы комбинировали AWK и GREP – user3175622
Почему мы призываем OP использовать 'eval' вообще? Это, конечно, не соответствует лучшим практикам. –