Linux скрипт для установки

How do I write a shell script to install a list of applications?

Does anyone know how to write a shell script to install a list of applications? It’s a pain to have to install each application by hand every time I set up a new system. Edit: It still asks me Do you want to continue [Y/n]? . Is there a way to have the script input y or for it not to prompt for input?

5 Answers 5

I would assume the script would look something like this:

#!/bin/sh apt-get update # To get the latest package lists apt-get install -y #etc. 

Just save that as something like install_my_apps.sh, change the file’s properties to make it executable, and run it from the command line as root.

(Edit: The -y tells apt-get not to prompt you and just get on with installing)

I’m not certain whether it’s necessary to make it executable (I’m a Python guy; not much into BASH). But if you must, it can be made executable with chmod +x ./install_my_apps.sh .

Or right click on it, select «Properties». In the window that opens go to the «Permissions» tab, and check the checkbox that says «Allow executing file as a program»

I don’t know why this is CW, but I edited it anyway to put the -y flag. Note: If you want to make it look clearer, you can use —yes or —assume-yes in place of -y .

Well, according to your question the easiest script would be:

#!/bin/sh LIST_OF_APPS="a b c d e" aptitude update aptitude install -y $LIST_OF_APPS 

However you could also enter aptitude update && aptitude install -y a b c d e . So maybe your question is missing the crucial point here. If there are some further requirements it would be nice to explain them.

Note that apt-get would work as a drop-in replacement for aptitude here, if that is your preference. Simply replace both instances of «aptitude» with «apt-get».

Just create a list of apps in a file, example.list, and run

cat example.list | xargs sudo apt-get -y install 
#!/bin/bash set -eu -o pipefail # fail on error and report it, debug all lines sudo -n true test $? -eq 0 || exit 1 "you should have sudo privilege to run this script" echo installing the must-have pre-requisites while read -r p ; do sudo apt-get install -y $p ; done < <(cat << "EOF" perl zip unzip exuberant-ctags mutt libxml-atom-perl postgresql-9.6 libdbd-pgsql curl wget libwww-curl-perl EOF ) echo installing the nice-to-have pre-requisites echo you have 5 seconds to proceed . echo or echo hit Ctrl+C to quit echo -e "\n" sleep 6 sudo apt-get install -y tig 

Explanation:

    set -eu -o pipefail command:

Command elements Explanation
set Modify how the shell environment operates
-u If a variable does not exist, report the error and stop (e.g., unbound variable)
-e Terminate whenever an error occurs (e.g., command not found)
-o pipefail If a sub-command fails, the entire pipeline command fails, terminating the script (e.g., command not found)
Читайте также:  Garuda linux gaming edition
Command elements Explanation
sudo Run as superuser
-n Non-interactive. Prevents sudo from prompting for a password. If one is required, sudo displays an error message and exits
true Builtin command that returns a successful (zero) exit status
Command elements Explanation
test Takes an expression as an argument, evaluates it as '0' ( true ) or '1' ( false ), and returns the result to the bash variable $?
$? A variable used to find the return value as the exit status of the last executed command
-eq equals
0 Value result is true
|| Logical "OR" is a Boolean operator. It can execute commands or shell functions based on the exit status of another command
exit Exits the shell with a status of N. If N is unspecified, it uses the exit code of the last executed command
1 Value result is false and used here as an argument to the exit command to use as an exit code
"you should have sudo privilege to run this script" If the exit code is false, print this message to the terminal
Command elements Explanation
echo Builtin command used to print information or messages to the terminal
installing the must-have pre-requisites Message to print to the terminal
Command elements Explanation
while Create a while-loop, i.e. perform a given set of commands ad infinitum as long as the given condition evaluates to true
read Read a line from the standard input and store it in a variable
-r Option passed to read command that avoids the backslash escapes from being interpreted
p Arbitrary variable for read to store captured input. Here it represents each package to be installed
; Control operator AND. Proceed to the next command and execute it regardless of the exit status of the previous command (execute even if the previous command fails)
Command elements Explanation
do Reserved word used to delimit the sequence of commands which follow. i.e., start
apt-get Tool used by the Debian APT (Advanced Package Tool) package manager
install A command used to install packages
-y Long-form is --yes . assume "yes" on all query prompts
$p Used to call the arbitrary variable p from read and use it as standard input
Command elements Explanation
done Reserved word used to delimit the sequence of commands which precede. i.e., stop
Redirection to the standard input
cat Concatenate. used for viewing, creating, and appending files
< Redirection that reads input from the current source until encountering a delimiter and then using those lines as the standard input for a command
EOF End of File delimiter
cat This will read, then print everything enclosed within the EOF block
Obtain the output of the list; parentheses indicate that the list will execute in a subshell environment

The following four echo messages are self-explanatory:

  • echo installing the nice-to-have pre-requisites
  • echo you have 5 seconds to proceed .
  • echo or
  • echo hit Ctrl+C to quit

however, the next one is not.

Command elements Explanation
-e Enable the function of backslash characters
\n Backslash escaped sequence for new line
Command elements Explanation
sleep Delay the execution of a bash script, typically for N seconds, unless using an option to indicate longer lengths of time

General references:

Источник

snovakovic / ubuntu_software_installer

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

#! /bin/bash
# run it as sudo yes | sh ubuntu_software_installer.sh
# CURL
sudo apt-get install curl
# CHROME
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c ' echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list '
# VS CODE
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c ' echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list '
# SKYPE (preview)
curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -
echo " deb [arch=amd64] https://repo.skype.com/deb unstable main " | sudo tee /etc/apt/sources.list.d/skype-unstable.list
# KODI
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:team-xbmc/ppa
# # INSTALL
sudo apt-get update
sudo apt-get install kodi google-chrome-stable code terminator git skypeforlinux
# CLIPIT
sudo apt-get install clipit
# NVM
curl https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
# NODE
nvm install stable
# # GIT config
git config --global user.email " stefan.novakovich@gmail.com "
git config --global user.name " snovakovic "
# AVN
npm install -g avn avn-nvm avn-n
avn setup
echo Finished Installing Programs !

Источник

Simple SH, скрипт для установки базовых приложений в Ubuntu

О простом Ш

В следующей статье мы рассмотрим Simple SH. Это простой BASH скрипт для установки приложений что многие считают важным в Ubuntu и его вариантах, таких как Linux Mint. С Simple SH любой может легко и быстро выбрать и установить свои любимые приложения в системах на основе Ubuntu.

Как следует из названия, Simple SH очень прост в установке и использовании. Если вы ленивый администратор, который ищет простой способ установки некоторых приложений во многие Системы на основе Ubuntu, сценарий Simple SH - хороший выбор. Он предлагает большое количество необходимого программного обеспечения, необходимого для повседневной работы.

Далее мы увидим список включенных приложений в инструменте Simple SH. Они делятся на три категории:

Простые приложения SH

Простые программы SH

Общие системные инструменты

  • Update.sh → Обновить список источников.
  • Upgrade.sh → Обновите все пакеты в системе.
  • Indicator.sh → Установите индикатор загрузки системы.
  • Ohmyzsh.sh → Установить oh-my-zsh.
  • Phonegap.sh → Установить Phonegap, конструктор мобильных приложений.
  • Prezto.sh → Установить Prezto (для Zsh).
  • Vim.sh → Установите Редактор Vim.

Серверные приложения

  • Ajenti.sh → Установить панель администрирования Ajenti.
  • Lamp.sh → Установить ЛАМПУ.
  • N98.sh → Установите инструменты n98 magerun cli для разработчиков Magento.
  • Nginx.sh → Установить LEMP.
  • Wpcli.sh → Установите WP CLI, интерфейс командной строки для WordPress.

Настольные приложения

  • Atom.sh → Установите редактор Atom.
  • Brackets.sh → Установите редактор Brackets.
  • Chrome.sh → Установите веб-браузер Chrome.
  • Composer.sh → Установить Composer.
  • Digikam.sh → Установите Digikam.
  • Dropbox.sh → Установить Dropbox.
  • Firefoxdev.sh → Установите Firefox Developer Edition.
  • Gimp.sh → Установить GIMP.
  • Googledrive.sh → Установить Google Диск.
  • Musique.sh → Установить Musique Player.
  • Phpstorm-10.sh → Установить PHPStorm версии 10.xx
  • Phpstorm-9.sh → Установить PHPStorm версии 9.xx
  • Phpstorm.sh → Установить PHPStorm версии 8.xx
  • Pycharm-pro.sh → Установить версию PyCharm Professional.
  • Pycharm.sh → Установите версию сообщества PyCharm.
  • Rubymine.sh → Установить RubyMine.
  • Spotify.sh → Установить Spotify.
  • Sublimetext.sh → Установите редактор Sublime Text 3.
  • Terminator.sh → Установить Терминатор.

Я должен сказать, что я пробовал не все приложения, но те, которые я попробовал, после установки работают правильно. Если кто-то думает, что отсутствует важное приложение, вы можете отправить запрос разработчику через официальная страница GitHub.

Простая установка SH на Ubuntu

Мы сможем установить Simple SH с помощью Wget или Curl. Если у вас нет ни одного из этих инструментов, вы можете легко установить один или оба из них. Для этого вам просто нужно открыть терминал (Ctrl + Alt + T) и ввести следующую команду:

sudo apt-get install wget curl

Использование Wget

Выполните следующие команды одну за другой, чтобы получить Simple SH с помощью Wget:

wget -qO- -O simplesh.zip https://github.com/rafaelstz/simplesh/archive/master.zip unzip simplesh.zip && rm simplesh.zip

Использование Curl

Выполните следующие команды одну за другой, чтобы получить Simple SH с помощью Curl:

curl -L https://github.com/rafaelstz/simplesh/archive/master.zip -o simplesh.zip unzip simplesh.zip && rm simplesh.zip

Какой бы вариант вы ни использовали, для завершения мы перейдем в папку, в которую был извлечен файл, и у нас будет только запустить Simple SH как показано ниже:

cd simplesh-master/ bash simple.sh

Устанавливайте приложения в Ubuntu с помощью Simple SH

После того, как вы запустили сценарий Simple SH с помощью команды «баш простой.ш«, Отобразятся все доступные команды и приложения. Для его использования у нас будет только напишите название приложения который мы хотим установить, и нажмите клавишу Enter, чтобы начать его установку. Например, чтобы установить атом, нам нужно написать atom.sh.

Сценарий автоматически добавит источники ПО и установит выбранное приложение.

к обновить список шрифтов, напишем следующее и нажмем Enter:

к обновить все системные пакеты, напишем:

Имейте в виду, что этот скрипт не полностью интерактивный. При необходимости нам нужно будет ввести пароль.

Например, предположим, что мы хотим настроить сервер LAMP. Для этого напишем:

Простая установка лампы ш

Эсто установит полную LAMP (Apache, MySQL, PHP и phpMyAdmin) в нашей системе Ubuntu.

Конфигурация сервера MySQL

В этом случае нам нужно будет ввести пароль для пользователя root MySQL и пароль для входа в phpmyadmin, а также выбрать веб-сервер для настройки phpMyAdmin и т. Д.

Конфигурация phpmyadmin

Таким же образом мы можем установить и другие приложения. После каждой установки нам придется повторно запускать скрипт для установки других приложений, так как он закроется сам. Если вы хотите выйти из системы перед установкой чего-либо, нам нужно будет только нажмите «e» для выхода из Simple SH.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Simple SH, скрипт для установки базовых приложений в Ubuntu

Источник

Оцените статью
Adblock
detector