![]() |
Скрипт на Shell
совсем ничего не писал до этого. нужно было написать небольшой скрипт который срабатывает при подключении pptp mpd5
if [ `echo 192.168.4.15 | grep '192.168.0.[0-9]*'` ]; then echo 'ok' fi ругается, что выражение у if неверное. хотя [ `echo 192.168.4.15 | grep '192.168.0.[0-9]*'` ] ; echo $? работает. где может быть ошибка? |
Наверное, вы хотите :
if [ -z `echo 192.168.4.15 | grep '192.168.0.[0-9]*'` ]; then echo 'ok'; fi |
Цитата:
Или так: if [ x == x"`echo 192.168.4.15 | grep '192.168.0.[0-9]*'`" ] |
AMDBulldozer,
да нет, с -z работает и без кавычек. Попробуйте :) Правда, у меня и без -z не ругается, хотя и ok не пишет |
Цитата:
Возможно автор исходно хотел написать что-то вроде такого: Код:
echo 192.168.4.15 | grep '192.168.0.[0-9]* &> /dev/null |
Вообще не понятно о чём речь.
`echo 192.168.4.15 | grep '192.168.0.[0-9]*'` всегда будет выдавать 1. И что означает "192.168.0.[0-9]*"? |
Цитата:
Но, с другой стороны, какая нам разница почему автору нужно заставить работать данный кусочек сценария? Чтобы дать ему совет, понимать назначение данного сценария совершенно не обязательно. |
чего-то я сразу не знал что в начале файла надо писать
#!/bin/sh чтобы на шелле интерпретировался. Заработало. Спасибо Конечно место 129.168.4.15 будет переменная, это часть скрипта для прописывания маршрутов при подключении по pptp в зависимости от того, кто подключился |
dt88,
ха :) Тогда надо писать, что это файл со скриптом, а то тут все, похоже, гоняли это все через командную строку без всяких шебангов :) |
Время: 22:46. |
Время: 22:46.
© OSzone.net 2001-