PDA

View Full Version : Некоторые команды


Antosha
17-06-2008, 22:47
Вопрос:

Функция


log=/tmp/ppp/connect
echo $0", "$1", "$2", "$3", "$4", "$5", "$6 >> $log


пишет в фаил /tmp/ppp/connect, а какая команда, что бы его так же прочитать?

Dekker
18-06-2008, 10:00
tail
cat
vi

Antosha
18-06-2008, 14:13
Мне надо передать дальше в скрипт, что бы он эти переменные получил и использовал.

Что-то допереь не могу как это сделать.

Был вот такой вот скрипт:

log=/tmp/ppp/connect
echo $0", "$1", "$2", "$3", "$4", "$5", "$6 >> $log
route add default gw $4 dev $1 >> $log
iptables -t nat -A POSTROUTING -o $1 -j SNAT --to-source $4 >> $log


Т.е. он помещает данные в /tmp/ppp/connect

А как передалать, что бы скрипт работал наоборот?
Т.Е., что бы с этими же данными выполнялись обратные действия:


log=/tmp/ppp/connect
echo $0", "$1", "$2", "$3", "$4", "$5", "$6 >> $log
route del default gw $4 dev $1 >> $log

т.е. удалить этот маршрут

naves
26-06-2008, 17:17
Мне надо передать дальше в скрипт, что бы он эти переменные получил и использовал.

запускайте другой скрипт с параметрами

script.sh $1 $2 $3 $4 $5 $6


А как передалать, что бы скрипт работал наоборот?
Т.Е., что бы с этими же данными выполнялись обратные действия:

что такое наоборот?

DemonGloom
26-06-2008, 17:38
Имеется в виду, что в файле, например, написано A,S,D,F,G,H
Вопрос : как скриптом прочитать эти A,S,D,F,G и H так, что-бы они попали в разные переменные.
Может так вам будет легче понять :)

Reyter
27-06-2008, 07:34
DemonGloom, а что вы вообще хотите сделать?
Я к тому спрашиваю, что все манипуляции с маршрутами и т.п. имеют смысл только во время выполнения post-firewall, а система и без того передает все эти переменные post-firewall-у "вживую". Почему бы не воспользоваться переменными сразу, не записывая их в файл и не считывая их потом оттуда?
Если скрипт получается довольно сложным, то его можно создать в отдельном виде и запускать из post-firewall как это предложил naves.

YAG
27-06-2008, 11:26
Имеется в виду, что в файле, например, написано A,S,D,F,G,H
Вопрос : как скриптом прочитать эти A,S,D,F,G и H так, что-бы они попали в разные переменные.
Может так вам будет легче понять :)

Ну есть же grep, sed, awk. Разве проблема выковырять нужные переменные с помощью такого мощного инструментария...

DemonGloom
27-06-2008, 18:41
Лично я ничего не хочу :) Я просто пояснил желание antosha

Reyter
27-06-2008, 19:31
Лично я ничего не хочу :) Я просто пояснил желание antosha
Виноват. Был невнимателен. :)

ABATAPA
28-06-2008, 12:46
Имеется в виду, что в файле, например, написано A,S,D,F,G,H
Вопрос : как скриптом прочитать эти A,S,D,F,G и H так, что-бы они попали в разные переменные.
Может так вам будет легче понять :)

cat file | while read A S D F G H
do
echo "A=$A S=$S D=$D F=$F G=$G H=$H"
done

Antosha
28-06-2008, 16:49
Пока меня не было, уже всё разобрали по косточкам :)

Спасибо всем, попробую эти действия обязательно.

в post-firewall не канает, т.к. это скрипт, который проверяет доступность адреса, а при его недоступности поднимает VPN, и в обратном порядке когда адрес пашет, только удаляет потом все ненужные правила.