Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Переменные путей файлов в BASH ОШИБКА ВЫПОЛНЕНИЯ СКРИПТА  (Прочитано 1222 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Друзья, подскажите такой нюанс...
вот задаю в скрипте переменные, - файлы , которых по посталвенной задаче еще нету...

#!/bin/bash
FILE=”/var/tmp/bazar.up”
DATE=`date -R`
DOWN=”/var/tmp/down.txt”

но при выполнении скрипта, вижу маты в консоли )
Так как тех файлов нету... нету до выполнения заданого условия.
Как же тогда задать переменные файлов , которых не существует тогда ?
« Последнее редактирование: 04 Апреля 2013, 11:53:52 от TrEK »

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: Переменные путей файлов в BASH
« Ответ #1 : 03 Апреля 2013, 12:35:06 »
Какие файлы? Вы же просто переменные задаете.

У меня ошибок не выдает.
« Последнее редактирование: 03 Апреля 2013, 12:37:02 от Vitsliputsli »

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Переменные путей файлов в BASH
« Ответ #2 : 03 Апреля 2013, 12:38:21 »
пародон, ошибка в другом была... шли строки где обращение происходило к файлам до того времени когда они создались...



root@dionis2:/home/trek# ./monitor_inet.sh
”/home/trek/inet.up.txt”: Нет такого файла или каталога
./monitor_inet.sh: строка 6: ”/home/trek/inet.down.txt”: Нет такого файла или каталога


где недоделка ? взял отсюда скрипт



Пользователь решил продолжить мысль 04 Апреля 2013, 11:53:05:
или это часть скрипта ?
« Последнее редактирование: 04 Апреля 2013, 11:53:05 от TrEK »

Оффлайн vadim-nsk

  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
если нет то почему до выполнения не проверить if типа ! [ -f /patch/file ],  а затем только что-то присваивать и т.п.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
тоесть уловие проверки все таки надо запилить сюда ?

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
поменяйте кавычки на нормальные и все будет работать.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
#!/bin/bash
FILE='/home/trek/inet.up.txt'
DATE=`date -R`
DOWN='/home/trek/inet.down.txt'
wget -q –tries=10 –timeout=5 http://inet.ternopil.ua -O $FILE
test -s $FILE ||( echo $DATE >> $DOWN && cat $DOWN | mail -s 'SITE IS DOWN' datrek@mail.ru)
test -s $FILE && test -s $DOWN && echo $DATE | mail -s 'SITE IS UP' datrek@mail.ru && rm $DOWN
test -s $FILE && rm $FILE

ВОт так ,спасибо. Работает.

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
В принципе и с двойными тоже работало бы. Просто у вас там были не обычные двойные кавычки, а невесть что.

appomsk

  • Гость
Трехбайтовые :)
echo ” | xxd
0000000: e280 9d0a                                ....

 

Страница сгенерирована за 0.106 секунд. Запросов: 25.