LinuxForum.Fans
Тема

Помогите пожалуйста разобраться с bash-скриптом

Автор: xaker26rus 3 сообщений 1047 просмотров
#252600

Мне понадобилось ставить под линуксом 50 пакетов. С начало ставил просто вписывая каждый пакет в командную строку, но потом все поднадоело. вспомнил про bash-скрипты, полазив по нету нашел скрипт установки драйвера принтера, и взял его за основу т.к. с скриптами знаком только поверхностно, нужно было просто от чего-то отталкиваться.
Первая версия скрипта у меня вообще не запустилась, хотя могу и ошибаться после запуска не вывел ни чего на терминал. По этому я решил что не работает, хотя все должно быть просто.

text
#!/bin/bash -x
echo -e "Установка кодеков и нужных приложений. Продолжить? Y/n" 
read flag
case "$flag" in
    y|Y) echo "Начало установки"
             echo "==========Установка Gdebi и Midnight Commander ============="
             dpkg -i gdebic.deb
             dpkg -i gdebi.deb
             dpkg -i mc.deb
             echo "==========Установка приложений первой очереди============="
             dpkg -i pervoe/1.deb
             dpkg -i pervoe/2.deb
             dpkg -i pervoe/3.deb
             dpkg -i pervoe/4.deb
             dpkg -i pervoe/5.deb
             dpkg -i pervoe/6.deb
             dpkg -i pervoe/7.deb
             dpkg -i pervoe/8.deb
             dpkg -i pervoe/9.deb
             dpkg -i pervoe/10.deb
             dpkg -i pervoe/11.deb
             dpkg -i pervoe/12.deb
             dpkg -i pervoe/13.deb
             echo "==========Установка приложений второй очереди============="
             dpkg -i vtoroe/1.deb
             dpkg -i vtoroe/2.deb
             dpkg -i vtoroe/3.deb
             dpkg -i vtoroe/4.deb
             dpkg -i vtoroe/5.deb
             dpkg -i vtoroe/6.deb
             dpkg -i vtoroe/7.deb
             dpkg -i vtoroe/8.deb
             dpkg -i vtoroe/9.deb
             dpkg -i vtoroe/10.deb
             dpkg -i vtoroe/11.deb
             dpkg -i vtoroe/12.deb
             dpkg -i vtoroe/13.deb
             dpkg -i vtoroe/14.deb
             dpkg -i vtoroe/15.deb
             dpkg -i vtoroe/16.deb
             dpkg -i vtoroe/17.deb
             dpkg -i vtoroe/18.deb
             dpkg -i vtoroe/19.deb
             dpkg -i vtoroe/20.deb
             dpkg -i vtoroe/21.deb
             dpkg -i vtoroe/22.deb
             dpkg -i vtoroe/23.deb
             dpkg -i vtoroe/24.deb
             dpkg -i vtoroe/25.deb
             dpkg -i vtoroe/26.deb
             dpkg -i vtoroe/27.deb
             dpkg -i vtoroe/28.deb
             dpkg -i vtoroe/29.deb
             dpkg -i vtoroe/30.deb
             dpkg -i vtoroe/31.deb
             dpkg -i vtoroe/32.deb
    ;;
    n|N) echo "Отмена установки"
    ;;
      *)
    ;;    
esac

Вторая версия с циклом выдала ошибку в 4 строке но я не могу понять что за ошибка:

text
#!/bin/bash -x
echo -e "Установка коденов и нужных приложений. Продолжить? Y/n" 
read flag
case "$flag" in
    y|Y) echo "Начало установки"
             echo "==========Установка Gdebi и Midnight Commander ============="
             dpkg -i gdebic.deb
             dpkg -i gdebi.deb
             dpkg -i mc.deb
             echo "==========Установка приложений первой очереди============="
             for i in $(seq 1 13);
             do
              dpkg -i pervoe/$i.deb
             done
             echo "==========Установка приложений второй очереди============="
            i=1
            while [ $i -lt 32 ]
            do
            dpkg -i vtoroe/$i.deb
            let i=i+1
           done
    ;;
    n|N) echo "Отмена установки"
    ;;
      *)
    ;;    
esac

Помогите пожалуйста разобраться.

#252647

Для настолько короткого списка оно выглядит намного проще:
dpkg -i gdebic.deb gdebi.deb mc.deb pervoe/*.deb vtoroe/*.deb
разве нет?

А ошибка в 4 строке -- голый (неэкранированный) символ "|", если правильно путаю.

Войдите или зарегистрируйтесь, чтобы ответить.