Comment écrire un script shell d'installation d'applications?

30

Est-ce que quelqu'un sait comment écrire un script shell pour installer une liste d'applications? Il est difficile de devoir installer chaque application à la main chaque fois que je configure un nouveau système.

Modifier: Il me demande toujours Do you want to continue [Y/n]? . Existe-t-il un moyen d'avoir l'entrée du script y ou de ne pas demander d'input?

    
posée jumpnett 30.07.2010 - 20:30
la source

6 réponses

32

Je suppose que le script ressemblerait à ceci:

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

Enregistrez-le simplement comme install_my_apps.sh, modifiez les propriétés du fichier pour le rendre exécutable et exécutez-le à partir de la ligne de commande en tant que root.

( Modifier: -y indique à apt-get de ne pas vous inviter et de continuer à installer)

    
réponse donnée mac9416 01.08.2010 - 07:17
la source
18

Eh bien, selon votre question, le script le plus simple serait:

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

aptitude update
aptitude install -y $LIST_OF_APPS

Cependant, vous pouvez également entrer aptitude update && aptitude install -y a b c d e . Alors peut-être que votre question manque le point crucial ici. S'il y a d'autres exigences, il serait bon de les expliquer.

    
réponse donnée qbi 30.07.2010 - 20:44
la source
10

Créez simplement une liste d’applications dans un fichier, example.list et exécutez

cat example.list | xargs sudo apt-get -y install
    
réponse donnée Andrew Gunnerson 05.05.2011 - 06:03
la source
2

J'opterais pour le script suivant: vim install

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

Ensuite, je devrais rendre le script ci-dessus exécutable chmod +x install . Ensuite, pour l'utiliser, je peux taper: ./install <package_name> . Exemple: ./install clang

    
réponse donnée NlightNFotis 13.09.2012 - 11:23
la source
-1
#!/bin/bash

set -eu -o pipefail # fail on error , debug all lines

sudo -n true
test $? -eq 0 || exit 1 "you should have sudo priveledge 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
    
réponse donnée Yordan Georgiev 16.09.2017 - 15:13
la source
-2

J'ai créé un script pour cela.
Vérifiez lien

vous pouvez aussi ajouter des paquets

    
réponse donnée Dinuka Salwathura 18.06.2018 - 09:56
la source

Lire d'autres questions sur les étiquettes