С zsh:
time (repeat 10 {cmd1; cmd2})
zsh
repeat
наследован от csh
.
С tcsh
:
time repeat 10 eval 'cmd1; cmd2'
Дал бы Вам время для каждого повторения и полное время в конце.
Как указано в комментариях к вашему вопросу, вы можете создать простой текстовый файл с именем packages.txt
, в котором перечислены пакеты для install:
iceweasel
terminator
vim
, а затем выполните следующую команду:
cat packages.txt | xargs sudo apt-get install
xargs используется для передачи имен пакетов из файла packages.txt
в командную строку. На странице руководства:
xargs читает элементы из стандартного ввода, разделенные пробелами (которые могут быть защищены двойными или одинарными кавычками или обратной косой чертой) или новой строкой , и выполняет команду (по умолчанию / bin / echo) один или несколько раз с любыми начальными аргументами - , за которыми следуют элементы, считанные из стандартного ввода.
Немного улучшив ответ @ortomala -lokni, вы можете напрямую передать файл в качестве аргументаxargs
:
xargs -a packages.txt sudo apt-get install
При желании вы можете указать xargs
параметр -r
, чтобы запретить выполнение вызова apt-get
вообще, если ваш packages.txt
не содержит символов, отличных от -пробелов.
у меня это работает в обоих направлениях, убедитесь, что у вас есть последние версии xargs, или иначе проверьте, есть ли у него опция -a или нет с помощью опции справки (xargs --help)
Помимо более общих сценариев, вы можете создать пакет deb.
вам понадобится
equivs-build
, для построения деб. Deb может содержать только зависимости. Это упрощенный деб-билдер. gdebi
для установки deb. Это будет работать на всех системах на базе Debian (, которые используют файлы apt/deb -).
Преимущество выполнения этого с файлами deb по сравнению со сценарием оболочки заключается в том, что его гораздо проще отменить, вы можете удалить deb или повторно -настроить deb и повторно -установить его. (это приведет к добавлению и удалению файлов ).