J'ai essayé de créer un script qui exécute Sudo apt-get update
et Sudo apt-get autoremove
chaque fois que je me connecte. Cela se passe comme suit:
#!/bin/bash
(Sudo apt-get update)
(Sudo apt-get autoremove)
Mais chaque fois que je lance le script, mon ordinateur est gelé. Je suppose que c'est parce qu'il attend que le script fournisse un mot de passe. Est-ce que ça marcherait si j'ajoutais PASSWD:mypassword
après les commandes comme ceci:
#!/bin/bash
(Sudo apt-get update)PASSWD:mypassword
(Sudo apt-get autoremove)PASSWD:mypassword
ou y a-t-il autre chose que je devrais faire? Y a-t-il même un moyen? Si oui, s'il vous plaît dites-moi!
Vous n'êtes pas obligé d'inclure votre mot de passe dans votre script (d'après ce que j'ai vu, il est généralement déconseillé de l'indiquer dans un script). Au lieu de cela, vous pouvez modifier votre fichier sudoer pour vous permettre d'exécuter la commande apt-get sans avoir besoin d'un mot de passe.
Pour plus d'informations, allez sur ce site web .
ouvrez un terminal (ctrl + alt + T)
Entrez la commande
Sudo visudo
À la fin du type de fichier sudoers
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get
Où nom d'utilisateur est votre nom d'utilisateur (évidemment)
éditer ce fichier vous permettra d'exécuter n'importe quelle commande apt-get sans entrer de mot de passe. Cela signifie que vous pouvez également installer ou mettre à niveau des packages sans entrer votre mot de passe.
Vous pouvez également ajouter d'autres commandes à cette liste en entrant le chemin de la commande après une virgule. Le chemin d'accès à une commande peut être trouvé en entrant la commande suivante dans un terminal.
which command
Où commande est le nom de la commande (par exemple, redémarrage).
La commande pour démarrer un script bash:
#!/bin/bash
La commande pour demander le mot de passe root des utilisateurs:
["$ UID" -eq 0] || exec Sudo bash "$ 0" "$ @"
Exemple de commandes de ce qui peut être le suivant:
apt-get update
apt-get upgrade --oui
shutdown -r now
Bonne chance avec votre script