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


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

Автор Тема: Первый скрипт на Bash - wget  (Прочитано 1847 раз)

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

Оффлайн Artemius

  • Автор темы
  • Участник
  • *
  • Сообщений: 178
    • Просмотр профиля
Первый скрипт на Bash - wget
« : 23 Октября 2010, 15:50:40 »
#!/bin/bash

   if [ -n $1 ]; then
      Server = $1
   else
      echo "Didn't set Server parametr"
      exit
   fi
   if [ -n $2 ]; then
      if [ -n $3 ]; then
         User = $2
         Password = $3
      else
         echo "Didn't set Password"
         exit
      fi
   else
      echo "Didn't set User parametr. Enter as anonymous"
      User = 'anonymous'
      Password = ''
   fi
   if [ -n $4 ]; then
      Directory = $4
   else
      echo "Didn't set Remote Directory. Root directory has been choosen"
      Directory = '/'
   fi
   if [ -n $5 ]; then
      Log = $5
   else
      logfile = 'logfile.txt'
      touch logfile
      Log = logfile
   fi

wget -input-file=$Log -passive-ftp --user=$User --password=$Password -r -np ftp://$Server$Directory

Выдает ошибку:
$ bash backup.sh
backup.sh: line 31: unexpected EOF while looking for matching `''
backup.sh: line 37: syntax error: unexpected end of file

Пользователь решил продолжить мысль 23 Октября 2010, 16:24:46:
Прошу прощения. Ошибки теперь немного другие:

Код практически тот же

#!/bin/bash

   if [ -n $1 ]; then
      SERVER = $1
   else
      echo "Don't set Server parametr"
      exit
   fi
   if [ -n $2 ]; then
      if [ -n $3 ]; then
         USER = $2
         PASSWORD = $3
      else
         echo "Don't set Password"
         exit
      fi
   else
      echo "Don't set User parametr. Enter as anonymous"
      USER = 'anonymous'
      PASSWORD = ''
   fi
   if [ -n $4 ]; then
      DIRECTORY = $4
   else
      echo "Don't set Remote Directory. Root directory has been choosen"
      DIRECTORY = '/'
   fi
   if [ -n $5 ]; then
      LOG = $5
   else
      LOGFILE = 'logfile$(date +%Y%m%d%h%m%s).txt'
      touch LOGFILE
      LOG = LOGFILE
   fi

wget -input-file=$LOG -passive-ftp --user=$USER --password=$PASSWORD -r -np ftp://$SERVER$DIRECTORY

backup.sh: line 4: SERVER: command not found
backup.sh: line 11: USER: command not found
backup.sh: line 12: PASSWORD: command not found
backup.sh: line 23: DIRECTORY: command not found
backup.sh: line 29: LOG: command not found

Пользователь решил продолжить мысль 23 Октября 2010, 16:35:13:
Понял... Пробелы вокруг знака равенства
« Последнее редактирование: 23 Октября 2010, 16:35:13 от Artemius »

 

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