Помогите отладить sh скрипт

Тема в разделе "Десктопный Linux", создана пользователем vredin, 29 ноя 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. vredin

    vredin Читатель

    Заблокирован
    Регистр.:
    17 дек 2007
    Сообщения:
    141
    Симпатии:
    35
    PHP:
    #!/bin/bash -x
    #path_to_folder=  #path to folder with files
    #path_to_apache=  #path to apache config folder
    #clear

    if [[ $# -ne 2 ]]
    then
    echo "out pri proverke parametrov"
    exit 1
    fi

    if [[ "$1" -eq 'add' ]]
    then
        mkdir 
    /var/www/$2
        
    echo "sozdali papku"
        
    echo "<VirtualHost *>" "/etc/apache2/sites-available/$2"
        
    echo "RLimitMEM   16000000 20000000" >> "/etc/apache2/sites-available/$2"
        
    echo "RLimitCPU   10 30" >> "/etc/apache2/sites-available/$2"
        
    echo "ServerAdmin androngates@gmail.com" >> "/etc/apache2/sites-available/$2"
        
    echo "DocumentRoot /var/www/$2/" >> "/etc/apache2/sites-available/$2"
        
    echo "ServerName $2" >> "/etc/apache2/sites-available/$2"
        
    echo "ServerAlias www.$2" >> "/etc/apache2/sites-available/$2"
        
    echo "ErrorLog /var/www/$2.log" >> "/etc/apache2/sites-available/$2"
        
    echo "LogLevel warn" >> "/etc/apache2/sites-available/$2"
        
    echo "</VirtualHost>" >> "/etc/apache2/sites-available/$2"
        
    a2ensite "$2"
        
    /etc/init.d/apache2 reload
        
    break
    else
        
    a2dissite "$2"
        
    /etc/init.d/apache2 reload
        
    break
    fi

    какие-то непонятные ошибки на 2х серваках дебиан, первый раз програмлю на шеле - уже голова болит а понять не могу :(
     
  2. Fallen7

    Fallen7 Постоялец

    Заблокирован
    Регистр.:
    5 фев 2009
    Сообщения:
    54
    Симпатии:
    3
    Ну ошибки бы привели, да знаете ли, стоило написать, что хотите создать скрипт длясоздания виртуальных сайтов.
    Код:
    #!/bin/bash
    site_name=$1
    if [ -z $1 ];
    then
    echo "Отсутсвует имя сайта (пример forum.exmaple.ru)"
    exit 0
    else
    echo "<VirtualHost *:80>
            ServerAdmin example@examile.org
            ServerName  www.$site_name
            ServerAlias $site_name
            # Indexes + Directory Root.
            DirectoryIndex index.php index.html
            DocumentRoot /var/www/www.$site_name/htdocs/
            # CGI Directory
            ScriptAlias /cgi-bin/ /var/www/$site_name/cgi-bin/
            <Location /cgi-bin>
                    Options +ExecCGI
            </Location>
            # Logfiles
            ErrorLog  /var/www/www.$site_name/logs/error.log
            CustomLog /var/www/www.$site_name/logs/access.log combined
    </VirtualHost>" > /etc/apache2/sites-available/www.$site_name
    mkdir /var/www/www.$site_name
    mkdir /var/www/www.$site_name/cgi-bin
    mkdir /var/www/www.$site_name/htdocs
    mkdir /var/www/www.$site_name/logs
    touch /var/www/www.$site_name/logs/error.log
    touch /var/www/www.$site_name/logs/access.log
    chown www-data.www-data /var/www/www.$site_name -R
    chmod 775 /var/www/www.$site_name/htdocs
    a2ensite www.$site_name
    /etc/init.d/apache2 reload
    fi
    exit 0
    Думаю, я бы делал это как-то так.
     
    vredin нравится это.
  3. vredin

    vredin Читатель

    Заблокирован
    Регистр.:
    17 дек 2007
    Сообщения:
    141
    Симпатии:
    35
    спасибо огромное,
    ваш вариант мне больше нравится, но всё равно выдает

    new:/# site.bash qwerty.ru
    -bash: site.bash: command not found
    new:/#

    текст скрипта я вставил через редактор mc в файл site.bash, сохранил и изменил ему права на 777

    Добавлено через 17 минут
    как я запарился!

    надо запускать скрипт через ./
    или полный путь

    вопрос закрыт
     
  4. Fallen7

    Fallen7 Постоялец

    Заблокирован
    Регистр.:
    5 фев 2009
    Сообщения:
    54
    Симпатии:
    3
    поместите скриптв в /usr/sbin и запускайте так, как вы его запускали (т.е. как обычную команду).
     
    vredin нравится это.
Статус темы:
Закрыта.