Выполнить скрипт
Разбираюсь с iptables, пишу (читай скопировал) скрипт вида:
# Внешний интерфейс
INET=eth1
# Loop-устройство/localhost
LPDIF=lo
LPDIP=127.0.0.1
LPDMSK=255.0.0.0
LPDNET="$LPDIP/$LPDMSK"
# Переменные текстовых инструментов
IPT='/sbin/iptables'
IFC='/sbin/ifconfig'
G='/bin/grep'
SED='/bin/sed'
# Установка переменных среды для внешнего интерфейса
INETIP="'$IFC $INET|$G addr:|$SED 's/.*addr:\([^ ]*\) .*/\1/''"
$ECHO "INETIP=$INETIP"
Так вот в переменную INETIP забивается строка типа >>/sbin/ifconfig eth1|/bin/grep addr:|/bin/sed .....<<
А не типа "195.xx.xx.xx"
Почемуто не выполняются команды при присвоении.. уже многое перепробовал но что-то не доганяю..
Книжки и мануалы почитал но что-то не понял всеравно как правильно =(
может подскажет кто, заодно нормальную доку на изучение скриптов..
Спасибо!
- Для комментирования войдите или зарегистрируйтесь
"something" - это не
"something" - это не выполнение команды, это просто строка в которую можно подставлять значение переменных в отличии от 'something'.
Если тебе нужно выполнить команду в каком-то месте, нужно её оборачивать в `...`
К примеру:
Вот этот символ
Вот этот символ _`_
чем отличается от _'_ этого??
Это вообще разные символы? Они обозначают разные действия в смысле? или они подобны друг другу?
Разные. Выполни
Разные. Выполни две команды в консоли:
echo `whoami`
echo 'whoami'
В первом случае выводится итог работы взятой в `` команды, во втором просто знаки.
Фтыкай - Advanced
Фтыкай - Advanced Bash-Scripting Guide. Неплохое руководство по башу на русском.
(я так мимо
(я так мимо пробегал ;-)) - спасибо за ссылку - сессию закрою, буду учиться!