logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 23-01-2017 16:46:30

wbreen
Membre
Lieu : 94
Distrib. : Debian GNU/Linux 10
Noyau : Linux 4.19.0-5-amd64
(G)UI : Gnome Version 3.30.2
Inscription : 07-08-2016

creer un fichier .sh

Bonjour

Je voudaris créer un fichier sh avec ceci dedans :

su
apt-get update && apt-get upgrade && apt-get dist-upgrade

Quand je crée le fichier il me demande le mot de passe puis plus rien !

Je n'y connais rien en programmation .

Quelqu’un peut m'aider ?

Merci

Hors ligne

#2 23-01-2017 18:01:41

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : creer un fichier .sh

Quand tu passes en "root", tu changes d'utilisateur, et les commandes suivantes seront utilisées seulement après que tu sois "retourné".

Si tu veux une correction de ton script :

su -c "apt-get update && apt-get upgrade && apt-get dist-upgrade"


fonctionnera.
Alternativement avec sudo

sudo apt-get update && sudo apt-get upgrade && sudoapt-get dist-upgrade



Tu pourrai aussi utilsier gksu pour avoir un truc un peu plus joli, ou ajouter un truc dans les sudoers pour ne pas avoir à taper de mot de passe.

Dernière modification par otyugh (23-01-2017 18:05:24)


virtue_signaling.pngpalestine.png

Hors ligne

#3 23-01-2017 18:04:54

MicP
Membre
Inscription : 29-02-2016

Re : creer un fichier .sh

Bonjour wbreen

Quand la ligne de commande contenant la commande su a terminé son travail,
le script lance les commandes qui sont dans les lignes qui suivent (en dessous) avec les privilèges du compte utilisateur qui a lancé le script.

Pour que la commande su ait quelque chose à faire une fois que les privilèges du compte super-utilisateur (root) ont été acquis par la vérification du mot de passe demandé,
il faut lui donner les commandes à la suite (sur la même ligne) dans un seul paquet :

donc :

su --command 'apt-get update && apt-get upgrade && apt-get dist-upgrade'

ou bien, la même ligne de commandes en utilisant la même option sous sa forme courte ( --command <=> -c )

su -c 'apt-get update && apt-get upgrade && apt-get dist-upgrade'



EDIT : Voir aussi l'option --assume-yes d'apt-get

=======
voir :

man su



=======
Dans un script, on spécifie l'interpréteur de commandes à utiliser en première ligne du script
avec une syntaxe particulière. On apelle ça le shebang :

Voilà le script complet correspondant à ce que tu voulais faire :

#!/bin/bash
su -c 'apt-get update && apt-get upgrade && apt-get dist-upgrade'



=======
Je te laisse chercher dans la documentation de ce forum (WiKi) tout ce qui concerne la création d'un script.

=======
NOTE TRÈS IMPORTANTE :

Le compte root permet de tout faire => si tu donne l'ordre de supprimer tout ce qu'il y a sur ton disque,
il pourra le faire, et je te garantis qu'IL LE FERA

Relis bien (plusieurs fois) les lignes de commandes que tu va faire exécuter depuis le compte root :
Une petite erreur de frappe passée inaperçue, un doute sur ce que fait la commande,
et c'est la catastrophe assurée 99,9999999999999999 fois sur cent (ou peut-être un peu moins, mais toujours au mauvais endroit et au mauvais moment)
On apelle ça : la loi de Murphy

root <=> Privilèges maximum => responsabilité

Dernière modification par MicP (31-01-2017 08:22:38)

Hors ligne

#4 23-01-2017 18:48:03

wbreen
Membre
Lieu : 94
Distrib. : Debian GNU/Linux 10
Noyau : Linux 4.19.0-5-amd64
(G)UI : Gnome Version 3.30.2
Inscription : 07-08-2016

Re : creer un fichier .sh

Merci pour vos réponses !!!!
j'aurais du faire un man su ..... je n'y est pas pensé

Hors ligne

Pied de page des forums