Скрипты в Linux
Почему || ? Это означает выполнить вторую, если первая вернула ошибку.
А чего ты хотел от || ?
Такие вещи лучше делать в /etc/ppp/ip-up.local
т. е. эти строчки прописать в ip-up.local?
Только route.
а если этого файла нет, его надо создать или можно прописать в файле ip-up?
Почитай ip-up. В rh и debian он пытается запускать ip-up.local. Так что лучше править именно его, если нет - создать.
SIOCADDR: Network unreachable.
Я так понимаю, первая команда не успевает выполниться, а уже выполняется вторая.
2) Пррописал в ip-up.local. Ничего не происходит. В смысле, ppp0 появляется, а роуты не прописываются.
Вопрос: в какой момент запускается скрипт ip-up?
На выполнение pptp ... Нужно время. И вторая команда пытается выполниться, когда первая еще не сделала свое дело. Попробуй вставить паузу между 1-ой и 2-ой строчками. Типа sleep 10. Есть способ лучше, но я его не знаю. Кто скажет, буду очень признателен.
Там это точно объяснено. Я в своё время разбирался, сделал это достаточно быстро.
chmod +x ?
Зачем тебе вторая строчка? Поставь опцию defaultroute и все будет пучком.
а где ее проставить? ведь интерфейс ppp0 появляется только после запуска pptp...
Как там существование-то файла проверяется?
---
"Мы диалектику учили не по Гегелю.
Бряцанием боёв она врывалась в стих..."
-f
а нахер всё это нужно? Дефолтный роут сам может подниматься.
Сетевой девайс - не файл.
Оставить комментарий
pavkuz
Написал скрипт для коннекта:#!/bin/bash
pptp 172.16.4.126 ||
route add default gw 192.168.0.1 ppp0
exit 0
сохранил в файле в /sbin. Когда набираю в командной строке имя файла - первая строчка выполняется, т.е. нормально коннектится, а вторая нет.
Если просто набираю в командной строке эти строчки, то все нормально(роутинг прописывается). В чем может быть дело?