Как написать сценарий оболочки установки приложения?

Некоторое время назад у меня были проблемы с Compiz, которые не запускались или не разбивались, оставляя все неуправляемыми. Сначала я создал пусковую установку на рабочем столе (указав на compiz --replace), но я скоро устал от этого.

Долгосрочное «решение», хотя и было взломом, заключалось в создании небольшого встроенного скрипта для запуска при загрузке в запускаемых приложениях (в System -> Preferences):

bash -c "sleep 2; compiz --replace"

Поэтому я предлагаю вам сделать что-то подобное с emerald. Я не думаю, что вам нужен весь этот пуш для перенаправления, который у вас есть на конце. Вероятно, вы могли бы получить более умный об этом (поиск существующего изумрудного процесса перед его загрузкой), но если вы не возражаете против небольшого окошка окна при загрузке, нет никакого вреда в замене работающего экземпляра новым.

1
задан 13 September 2012 в 14:15

4 ответа

Хорошо, согласно вашему вопросу, самым простым сценарием будет:

#!/bin/sh
LIST_OF_APPS="a b c d e"

aptitude update
aptitude install -y $LIST_OF_APPS

Однако вы также можете ввести aptitude update && aptitude install -y a b c d e. Так что, может быть, ваш вопрос отсутствует здесь. Если есть какие-то дополнительные требования, было бы неплохо их объяснить.

18
ответ дан 29 May 2018 в 13:03
  • 1
    Обратите внимание, что apt-get будет работать как замена для aptitude здесь, если это ваше предпочтение. Просто замените оба примера "способности" с "apt-get". – mac9416 30 July 2010 в 23:50

Просто создайте список приложений в файле example.list и запустите

cat example.list | xargs sudo apt-get -y install
10
ответ дан 29 May 2018 в 13:03
  • 1
    это круто. никогда не знал, как кормить список пакетов в apt раньше! – Thufir 18 August 2017 в 10:34
  • 2
    xargs передает строки в любую команду, просто добавляя их в качестве аргументов – Xerus 11 May 2018 в 23:42

Я бы выбрал следующий скрипт: vim install

#!/bin/bash
apt-get update  # To get the latest package lists
apt-get install $1 -y

Тогда я должен сделать исполняемый файл сценария chmod +x install. Затем, чтобы использовать его, я мог бы ввести: ./install <package_name>. Пример: ./install clang

2
ответ дан 29 May 2018 в 13:03
  • 1
    Мне нужны все программы, перечисленные в файле. С помощью этого метода мне все равно придется вводить имя программы в качестве аргумента командной строки, поэтому на самом деле это не выгодно. – jumpnett 14 September 2012 в 00:11
  • 2
    @jumpnett Lol, я пропустил список. У меня начинает отсутствовать кофеин, и он показывает. Извините за это. Может обновить ответ. – NlightNFotis 14 September 2012 в 00:23
  • 3
    Кроме того, он будет запускать update для каждой программы для установки, отнимает много времени. И ему нужно sudo. – Gauthier 24 April 2015 в 13:50
  • 4
    это крайне нереально. Вы можете также положить alias install='sudo apt-get install -y' в свой .bash_aliases – Xerus 11 May 2018 в 23:41
[F1]
-1
ответ дан 29 May 2018 в 13:03
  • 1
    добавьте объяснения и исправьте все эти опечатки – Xerus 11 May 2018 в 23:40
  • 2
    какая линия по вашему мнению нуждается в объяснении?! – Yordan Georgiev 13 May 2018 в 19:41

Другие вопросы по тегам:

Похожие вопросы: