Nous écrivons des scripts sous Linux (apprentissage par l'exemple). Scripts Bash Scripts Unix sh

Nous écrivons des scripts sous Linux (apprentissage par l'exemple). Scripts Bash Scripts Unix sh

07.09.2021

Pour écrire un script bash simple, nous devons suivre ces étapes simples :

Comment tout cela fonctionne :

la première ligne de notre script #!/bin/bash est essentielle pour que notre script s'exécute avec succès.

deuxième ligne mkdir testdir crée le répertoire testdir

la troisième ligne cd testdir vous permet d'aller dans le répertoire testdir créé

commander toucher sur la ligne suivante, touchez file1 file2 file3 crée trois fichiers

et la dernière commande sur la ligne ls -al de notre script affiche le contenu du répertoire courant, dans lequel, grâce à la ligne précédente, trois fichiers vides sont apparus.

Comme nous pouvons le voir, dans notre scénario simple toutes les commandes commencent sur une nouvelle ligne. Chaque ligne, lors du démarrage du script, effectue séquentiellement son travail en effectuant certaines actions.

Si vous exécutez quotidiennement une chaîne de l'une des mêmes commandes (avec des paramètres constants) sous Linux, il peut être judicieux d'écrire la même script bash simple ce qui vous fera gagner du temps et automatisera votre travail.

Dans la société des administrateurs système et des utilisateurs ordinaires de Linux, il est très souvent célèbre pour la pratique de l'écriture de scripts Bash afin de faciliter et de simplifier la mise en œuvre d'objectifs spécifiques dans le système d'exploitation Linux. Dans cet article, nous examinerons l'écriture de scripts dans Bash, les opérateurs de base et leur fonctionnement, pour ainsi dire, les scripts bash à partir de zéro. En termes simples, vous avez une fois écrit l'ordre des activités à effectuer, peint les données, etc., puis écrivez facilement et simplement une seule petite commande et toutes les procédures sont effectuées selon les besoins.

Il est possible d'aller encore plus loin et de programmer l'exécution automatique du script. Si vous êtes déjà un utilisateur plus expérimenté, alors, très probablement, vous atteindrez souvent des objectifs différents via le terminal. Ceci n'est qu'un exemple et il existe de nombreuses actions de ce type, allant même jusqu'à effectuer une sauvegarde et télécharger les fichiers copiés sur un serveur distant. Il existe souvent des tâches pour lesquelles vous devez exécuter plusieurs commandes à tour de rôle, par exemple, pour mettre à jour le système, vous devez d'abord mettre à jour les référentiels, puis télécharger les nouvelles versions des packages.

C'est un tel shell où vous avez la possibilité de produire différentes commandes qui démarreront à grande vitesse et effectueront différents travaux de manière fructueuse. Absolument toute la puissance du système d'exploitation Linux réside dans l'utilisation du terminal. Par conséquent, afin de ne pas taper plusieurs fois les mêmes commandes, vous pouvez utiliser des scripts. C'est très pratique, il vous suffit de combiner plusieurs commandes qui ont un certain effet, puis de les exécuter avec la même commande ou même en utilisant un raccourci. De nombreux scripts ont été créés pour le système d'exploitation Linux, qui sont exécutés dans divers shells de commande. Eh bien, en principe, vous comprenez évidemment déjà cela.

Le système d'exploitation considère comme exécutables uniquement les fichiers auxquels la caractéristique d'exécutabilité a été affectée. Et déjà l'interpréteur dit ligne par ligne d'affilée et exécute toutes les directives présentes dans le fichier. Mais si la caractéristique d'exécutabilité est définie pour eux, un programme informatique spécialisé est utilisé pour les lancer - un interpréteur, en particulier le shell bash. Nous pouvons l'exécuter comme n'importe quel autre programme en utilisant un serveur de terminal, ou nous pouvons exécuter un shell et lui dire quel fichier exécuter.

Dans ce cas, vous n'avez même pas besoin d'un indicateur exécutable. Au lieu de cela, les signatures du début du fichier et des drapeaux spéciaux sont utilisés. Nous avons plusieurs méthodes différentes pour activer le script-a sous Linux. Sous Linux, l'extension de fichier n'est pratiquement pas utilisée pour déterminer son apparence au niveau du système. Cela peut être fait par les gestionnaires de fichiers, et même pas toujours. Le système d'exploitation considère comme exécutables uniquement les fichiers auxquels la caractéristique d'exécutabilité a été affectée. Ce sont des fichiers ordinaires qui contiennent du texte.

Scripts bash Linux pour les nuls

La construction bash peut être décrite en 7 engagements de type similaire : "appeler l'interpréteur de commandes - le corps du script bash - la fin du script". Les scripts sont écrits avec la prise en charge de divers éditeurs de texte, ils sont stockés sous forme de données informatiques textuelles. Mais pour le rendre plus confortable, je les stocke en conjonction avec l'extension "* .sh". Mais regardons tout cela sur un échantillon d'un objectif spécifique. Il y a un usage qu'il faut lancer avec un ensemble de caractéristiques assez large. Vous aurez souvent besoin de vous lancer, et à chaque fois vous aurez la flemme de saisir ces caractéristiques. Pour le rendre plus précis, voyons à quoi ressemble cet effet :

/ home / Admin / soft / sgconf / sgconf -s 10.10.10.1 -p 5555 -a Admin -w 112233 -u user -c 100

Pour ce script, utilisons l'interpréteur bash. En tant que processus principal, vous et moi devons appeler l'interprète. Ouvrez un éditeur de texte et écrivez le code.

Ajoutons cette opération en tenant compte des variables saisies :

/ home / Admin / soft / sgconf / sgconf -s 10.10.10.1 -p 5555 -a Admin -w 112233 -u $ user -c $ cash

Le texte que nous entrerons dans les journaux sera le suivant : texte = "Le solde de l'utilisateur" utilisateur "a été reconstitué avec" espèces "roubles à temps"

L'argument textuel varie en fonction des variables user, cash et time

if [-e /home/Admin/scripts/sgconf/sgconf.log] then echo text >> /home/Admin/scripts/sgconf/sgconf.log else echo text> /home/Admin/scripts/sgconf/sgconf.logfi

Maintenant, lorsque nous devons déposer de l'argent à quelqu'un, nous exécutons le script avec la commande "sh sgconf.sh", entrez le nom du payeur et le montant du paiement. Pas de longues files d'attente, pas de maux de tête avec la saisie constante des mêmes valeurs.

Créer un script bash sous Linux OS

Pour écrire un simple script-a en bash, nous devons effectuer ces procédures ordinaires. Créons un fichier vide sur la ligne de commande Linux (nous l'appelons firstscript pour l'exemple) et ouvrons-le pour le modifier dans votre éditeur de texte préféré (vi / vim, nano, gedit, etc.). Pour développer un script, vous n'avez pas besoin de beaucoup de stress, mais pour esquisser un script (programme), vous devrez étudier diverses littératures auxiliaires. Nous allons décrire le plus basique des scripts, alors nous commençons, mais si vous ne savez pas ce qu'est un terminal et comment l'utiliser, alors vous êtes ici. Au tout début, pour écrire bash, nous devons créer un répertoire pour nos scripts et un fichier où nous allons tout écrire, pour cela nous ouvrons le terminal et créons un répertoire.

Basculer vers le répertoire nouvellement créé

Et créer un fichier

sudo gedit script.sh

Dans mon exemple, je vais créer un script de mise à jour du système, l'écrire dans ce fichier. nous allons ouvrir l'éditeur de texte gedit, j'aime plus vim, mais vous ne l'aurez surtout pas, alors je le montre dans le standard.

mise à jour sudo apt ; mise à niveau complète sudo apt ;

Rendez le fichier de script exécutable (s'il n'est pas déjà exécutable). L'exécution de scripts sh à partir de la ligne de commande est simple. Exécutez le script bash linux.

chmod + x script.sh

Nous exécutons le script en spécifiant simplement le chemin d'accès :

chemin / vers / script.sh

Si le script est dans le répertoire courant, alors vous devez le préciser. / Devant le nom du fichier de script :

Parfois, des droits de superutilisateur sont requis pour exécuter le script, puis juste avant le script, nous écrivons la commande sudo :

sudo./script.shsudo chemin / vers / script.sh

Vous pouvez bien entendu lancer le script en prescrivant directement l'interpréteur : sh, bash et autres :

bash script.shsh chemin / vers / script.sh

Comme vous pouvez le voir, démarrer le script sh sur Linux est une tâche assez courante, même si vous n'êtes pas encore familiarisé avec le terminal. Il existe de nombreux scripts et vous devrez peut-être en exécuter certains. Dans ce didacticiel, nous avons couvert les scripts bash Linux utiles que vous pouvez utiliser lorsque vous utilisez Linux. Dans cet article, nous avons examiné les scripts bash Linux utiles que vous pouvez utiliser tout en travaillant avec le système. Certains d'entre eux se composent de plusieurs lignes, quelques-uns sont placés sur une seule ligne. Il existe à la fois des extraits mineurs que vous pouvez utiliser dans vos scripts et des scripts de dialogue à part entière pour les utiliser via la console.

Tout d'abord, examinons ce qui est scénario et à quoi ça sert.

Scénario traduit de l'anglais - scénario... Nous regardons tous des films, beaucoup d'entre nous regardons des performances. Pour créer un film / une pièce de théâtre, les scénaristes écrivent pour eux des scénarios, sur la base desquels les acteurs, scène par scène, jouent leurs rôles sur scène, ce qui constitue le film / la pièce. Le travail de création du scénario est assez laborieux, où vous devez tout prendre en compte dans les moindres détails, afin qu'à la fin les artistes puissent réaliser le plan du scénariste et que le spectateur voie l'ensemble du travail.

De même, des scripts sont écrits pour exécuter une liste de tâches que l'utilisateur met en place (code) pour les rendre plus faciles et plus rapides dans le système d'exploitation. Il n'est pas nécessaire d'avoir une formation de programmeur pour écrire des scripts simples.

Tout d'abord, créons le plus simple script-shell pour mettre à jour le système.

Je vais effectuer toutes les actions avec le système Ubuntu, mais ils sont également applicables à d'autres systèmes Linux dérivé de Ubuntu... Pour cela nous avons besoin de : Éditeur de texte le remplir avec les tâches nécessaires pour créer un script (code) et Terminal- pour exécuter le script créé. Ces outils sont installés sur n'importe quelle distribution Linux défaut.

Alors, ouvrez un éditeur de texte Gédit et entrez les premiers caractères requis sous le nom case.
case en programmation, c'est une séquence de deux caractères : un dièse et un point d'exclamation ( #! ) au début du fichier de script. Et ajouter à ces caractères sans espaces / bin / sh- l'interpréteur où le script sera exécuté. / bin / sh- c'est généralement Coquille Bourne ou un interpréteur de ligne de commande compatible qui passe "chemin / vers / script" comme premier paramètre.
La première ligne requise du script ressemblera à ceci :

# Mon premier script de mise à niveau Ubuntu

Le signe dièse (#) au tout début de la ligne indique clairement à l'interpréteur/au terminal que cette ligne n'a pas besoin d'être lue et exécutée. La ligne est nécessaire dans le code de ce script pour que le créateur du script sache lui-même ce qu'il va exécuter sur un segment / scène donné dans le code, afin de ne pas se tromper à l'avenir lorsqu'il y a beaucoup de telles lignes . De telles lignes avec un signe dièse sont appelées - a commenté .

mise à jour sudo apt
sudo apt upgrade -y

-yà la fin de la deuxième commande indique clairement à l'interpréteur/terminal que cette action/commande doit être effectuée automatiquement, sans confirmation supplémentaire de la part de l'utilisateur, en appuyant sur une touche Saisir. oui- abrégé de l'anglais Oui, c'est à dire. Oui.

C'est tout. Votre premier script a été créé. Vous devriez avoir quelque chose comme l'image :


Il reste à enregistrer le fichier/script créé et à lui donner Nom avec une extension requise à la fin - .sh... Extension .sh affecté au fichier exécutable.
je lui ai donné Nom - mise à jour.shéconomiser dans Dossier d'accueil utilisateur:


Pour que le fichier / script créé soit exécutable, il doit être autorisé à le faire. Ceci peut être fait de deux façons.

1. Exécutez la commande suivante dans le terminal :

sudo chmod + x update.sh

2. Ou ouvrez le gestionnaire de fichiers dans Dossier d'accueil(où vous avez enregistré le script généré), faites un clic droit sur le fichier, dans le menu contextuel - Propriétés - Droits et activer l'élément - Performance: Autoriser le fichier à s'exécuter en tant que programme:


Pour exécuter le script créé, vous devez ouvrir un terminal (dont j'ai parlé au tout début de l'article, que le terminal est un attribut / outil nécessaire pour exécuter le script), entrez sh, le nom du script est séparé par un espace - mise à jour.sh et appuyez sur la touche Saisir:


Ou dans le terminal nous entrons sh et faites glisser le fichier créé avec le script depuis le gestionnaire de fichiers (également séparé par un espace) :


Une fois le chemin du fichier affiché après la commande sh et un espace, il suffit d'appuyer sur la touche Entrer(Entrée) pour mettre à jour le système :


Maintenant, à tout moment, vous pouvez effectuer une mise à jour du système créée par votre propre script.

Oui, quelqu'un peut soutenir que la mise à jour du système n'est pas difficile à faire en exécutant ces deux commandes dans le terminal, pourquoi gonfler et créer des scripts ? C'est d'accord. Mais ceci est un exemple de création d'un script simple pour montrer que "ce ne sont pas les dieux qui brûlent des pots" 😃.

Après avoir appris à écrire et à utiliser les scripts les plus simples, vous pouvez créer un script pour configurer le système afin qu'en cas de réinstallation du système, vous puissiez utiliser le script créé sans avoir à rechercher sur le réseau des sites avec des paramètres similaires à chaque fois.

Beaucoup d'entre vous utilisent très probablement des sites pour configurer le système, comme ceux que je publie après la prochaine version. Ubuntu - Ubuntu après l'installation ou des sites similaires. Ouvrez l'un de ces sites :, puis un éditeur de texte pour créer un script.
Par exemple, j'ai fait le modèle suivant.

Dans un éditeur de texte, saisissez la première ligne requise :

# Configuration d'Ubuntu après l'installation
# Mise à jour du système

Voici les commandes pour mettre à jour le système :

mise à jour sudo apt
sudo apt upgrade -y

Ligne de description : Ajouter des référentiels :

# Ajout de référentiels

Et ajoutez les référentiels nécessaires pour une installation ultérieure du logiciel :

sudo add-apt-repository "deb http://archive.canonical.com/ $ (lsb_release -sc) partenaire" -y
sudo add-apt-repository ppa: atareao / télégramme -y
sudo add-apt-repository ppa: atareao / atareao -y

sudo add-apt-repository ppa: nemh / systemback -y
sudo add-apt-repository ppa: gerardpuig / ppa -y
sudo add-apt-repository ppa: haecker-felix / gradio-daily -y

Une fois les référentiels nécessaires ajoutés (je le répète, vous pouvez avoir vos propres référentiels, j'ai un exemple), vous devez mettre à jour le système :

Ligne de description :

# Mise à jour du système après connexion des référentiels

Et la commande à exécuter :

mise à jour sudo apt

Maintenant que les dépôts ont été ajoutés et que le système a été mis à jour, c'est au tour d'installer les programmes :

# Installation de programmes

Pour installer des programmes, entrez simplement la commande une fois sudo apt installer, puis ajoutez autant de programmes que vous le souhaitez à cette ligne à travers un espace, l'essentiel est qu'ils soient correctement composés. Si un programme est constitué de plusieurs mots, sa commande doit être monolithique, c'est-à-dire tous les mots qu'il contient doivent être saisis avec un tiret, par exemple : unity-tweak-tool:

sudo apt install my-weather-indicator telegram skype lm-sensors hddtemp psensor gdebi systemback unity-tweak-tool ubuntu-cleaner gradio -y

Installation de codecs supplémentaires

# Multimédia et codecs

sudo apt install ubuntu-restricted-extras -y

Désactiver le plantage du système

# Désactiver le rapport de plantage du système

sudo sed -i "s / enabled = 1 / enabled = 0 / g" "/ etc / default / apport"

Eh bien, c'est probablement tout. Ce fichier de script généré devrait ressembler à ceci :


Il est nécessaire de l'enregistrer (appuyez sur le bouton sauvegarder) Et donner Nom avec rallonge .sh... je l'ai nommé Configuration \ Ubuntu.sh(vous pouvez l'appeler différemment, mais avec l'extension .sh) :


Nous rendons le script créé exécutable :

sudo chmod + x Configuration \ Ubuntu.sh

Pour exécuter le script créé, entrez dans le terminal sh et le nom du script créé séparé par un espace, ou sh, espacez et faites glisser le fichier créé dans le terminal, comme expliqué précédemment dans le script le plus simple et appuyez sur la touche Saisir pour l'exécuter.

Noter... Barre oblique inverse dans une commande Configuration \ Ubuntu.shéchappe l'espace dans le nom de fichier du terminal entre deux mots séparés.

Une fois le script exécuté, stockez-le pour le futur, pour une éventuelle réinstallation du système et une reconfiguration, il est préférable de le stocker sur une partition séparée du disque dur dans le dossier / domicile... S'il n'y en a pas, alors dans le service cloud (Cloud data storage) tapez : DropBox, Cloud Mail.Ru, Mega.co etc., afin d'utiliser le script vous-même à tout moment, ou pour aider des amis ou des parents à configurer le système.

Pour écrire un script bash simple, nous devons suivre ces étapes simples :

Comment tout cela fonctionne :

la première ligne de notre script est essentielle pour que notre script s'exécute avec succès.

la deuxième ligne crée le répertoire testdir

la troisième ligne vous permet d'aller dans le répertoire testdir créé

commander toucher la ligne suivante crée trois fichiers

et la dernière commande de la ligne de notre script permet d'afficher le contenu du répertoire courant, dans lequel, grâce à la ligne précédente, trois fichiers vides sont apparus.

Comme nous pouvons le voir, dans notre scénario simple toutes les commandes commencent sur une nouvelle ligne. Chaque ligne, lors du démarrage du script, effectue séquentiellement son travail en effectuant certaines actions.

Si vous exécutez quotidiennement une chaîne de l'une des mêmes commandes (avec des paramètres constants) sous Linux, il peut être judicieux d'écrire la même script bash simple ce qui vous fera gagner du temps et automatisera votre travail.

Il arrive souvent qu'il soit nécessaire d'automatiser certaines actions. Les scripts Bash viennent toujours à la rescousse !
N'oubliez pas que pour exécuter le script, vous devez modifier les droits d'accès en ajoutant la possibilité d'exécuter le fichier.

1.I/O, redirection

#! / bin / bash # Tout script shell commence toujours par la ligne #! / bin / bash (ou #! / bin / sh) # Les commentaires commencent toujours par un # # Pour afficher un message, utilisez la commande ECHO echo "hello , world" # ceci est un exemple de sortie formatée ...

presque comme C printf "sortie formatée ten =% d string =% s float =% f hex = 0x% X \ n" 10 "string" 11.56 234 # exemple de lecture entrée clavier read A echo $ A printf " vous venez de saisir le word:% s \ n "" $ A "# redirection, pipelines, obtention de la sortie d'un autre programme # exemple de génération d'un mot de passe à partir de 10 lettres PASSWORD1 =` cat / dev / urandom | tr -d -c 'a-zA-Z0-9' | plier -w 10 | head -1` echo Password = $ PASSWORD1 # des guillemets comme "donnent le résultat de l'affichage de ce qu'ils contiennent (c'est-à-dire # un programme ou un script écrit à l'intérieur de ces guillemets est exécuté et le résultat qu'ils impriment sur # la sortie standard est le résultat de la opération "backticks" # dans ce cas, le résultat est la sortie de plusieurs programmes.

Scripts bash intéressants pour les amateurs de terminaux Linux

# opération | indique un convoyeur. Celles. dans notre exemple : #cat / dev / urandom sort le contenu du fichier / dev / urandom (un fichier spécial pour générer des nombres pseudo-aléatoires) vers std.output #tr effectue la traduction, c'est-à-dire remplace certains octets par d'autres (ceci est nécessaire pour éviter l'apparition de caractères non lisibles dans le mot de passe) #fold divise ce qui est arrivé à l'entrée standard en lignes de 10 caractères et le sort sur la sortie standard #head -1 sort le premier ligne ce qui lui est venu sur l'entrée standard. # ou comme ceci : PASSWORD2 = `cat / dev / urandom | tr -dc _A-Z-a-z-0-9 | head -c10` echo Mot de passe = $ PASSWORD2

2. Opérations arithmétiques, cycles par le nombre de fois

#! / bin / bash A = "10" B = "5" C = `expr $ A + $ B` printf" A = 10 B = 5 C = expr \ $ A + \ $ BC =% d \ n " "$ C" # exemple de boucle sur i I = 0 while [$ I -lt 15] do printf "0x% 02x" "$ I" I = `expr $ I + 1` done echo

3.Différents types de chèques

#!/bin/bash # exemple de vérification de l'existence d'un fichier # création d'un fichier test1 touch test1 # vérification de l'existence d'un fichier test1 if [-f test1]; then echo "le fichier test1 existe" fi # vérifie si test2 n'existe pas if! [-f test2]; then echo "le fichier test2 n'existe pas" fi # brève aide sur les autres options de commande # -d nom de fichier répertoire existe # -f nom de fichier fichier existe # -L nom de fichier lien symbolique existe # -r, -w, -x le fichier est lu/écrit ou # -s filename file existe et a une longueur non nulle # f1 -nt f2 f1 plus récent que f2 # f1 -ot f2 f1 plus ancien que f2

Étiquettes : bash, freebsd, coquille

Écrivez un commentaire via:

Comment écrire un script bash simple

Comment exécuter plusieurs commandes à la suite ou toutes à la fois ? Si vous devez exécuter plusieurs commandes, alors le symbole " ; "Appelé un métacaractère. La syntaxe est la suivante commande1; commande2; commande3

Commandes séparées par " ; »Sont exécutés séquentiellement. Shell attend la commande suivante et revient à l'invite de commande après l'exécution de la dernière commande.

Exécution simultanée de plusieurs commandes

Pour exécuter plusieurs commandes en une seule fois, en mettant une esperluette "&" à la fin de la commande. Par exemple, considérons le début d'un script de sauvegarde :

# /root/ftpbackup.sh &

Et votre terminal est gratuit pour une utilisation ultérieure, vous n'avez pas besoin d'attendre la fin de l'exécution du script /root/ftpbackup.sh !

Tout utiliser ensemble

Vous pouvez avoir des milliers de fichiers * .bak. Mais il vous suffit de lister les catégories dont vous avez besoin, et de tout mettre dans /tmp/list :

# pour d dans "/ home / sales / home / dbs / data1" ; trouvez $ d -iname "* .bak" >> / tmp / list; terminé &

Une source

Apprendre BASH (Bases)

Date : 2012-12-10

Apprendre à écrire des scripts

Pour la plupart, tout Linux se compose de scripts, il vous suffit donc de connaître ce langage.
À la base, il ne s'agit que d'une collection de commandes Linux combinées à l'aide de différentes constructions dans un code bien pensé.

Créons notre premier script.
Pour ce faire, ouvrez simplement un éditeur de texte et remplissez le fichier avec les éléments suivants :

#! / bin / bash
qui; Date

Tout est simple ici.
À la base, le hachage (#) est généralement considéré comme le début d'un commentaire, mais ici, à partir de la première ligne, il nous dit d'utiliser l'interpréteur bash.

1) Il faut donner les droits d'exécution

chmod u + x bash1.sh

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/game

Et déplacez ce fichier dans l'un des répertoires, à moins, bien sûr, que vous ayez besoin de vous y référer simplement par son nom, et non par son emplacement complet.

Ici, nous avons examiné comment le script est créé, vous devez alors comprendre certaines choses.

Chaque fois que nous écrivons des scripts, nous traiterons des variables, redirigerons les entrées et les sorties, travaillerons avec des tuyaux et effectuerons des calculs mathématiques.

Variables

Pour définir une nouvelle variable, dites simplement :

#! / bin / bash
F = Ivan
moi = Ivanov
O = Ivanitch
# Sortie avec :
echo "FIO $ F $ I $ O"

Résultat

sh bash2.sh
FIO Ivan Ivanov Ivanitch

Afficher les variables ;
# ensemble

BASH = / bin / bash
HISTFILE = / racine / .bash_history
HISTFILESIZE = 500
TAILLE HIST = 500
ACCUEIL = / racine
SSH_CLIENT = '192.168.200.3 9382 22 ′
SSH_CONNECTION = '192.168.200.3 9382 192.168.200.252 22 ′

Il existe un autre moyen très intéressant et utile de définir une variable en utilisant ``

#! / bin / bash
jour = `date +% y% m% d`
# À l'avenir, la variable $ day pourra être insérée dans le script, par exemple, une sauvegarde

rsync -avz / root / data /root/backup.$day

À la suite de l'exécution d'un tel script, une sauvegarde apparaîtra avec la définition de la date à laquelle la sauvegarde a été créée.

Rediriger l'entrée et la sortie.

> Redirection vers un fichier avec écrasement complet du contenu du fichier
>> Redirection, annexée à un fichier, à la fin d'un contenu existant.
ls -al /> 123
Et la commande :
ls -al / maison >> 123
Répertoriez tous les fichiers de la racine puis ajoutez ensuite le contenu du répertoire Home
cette redirection est appelée redirection de sortie
Redirection d'entrée - Le contenu est redirigé vers la commande.
sorte< sort.txt
Les commandes de tri trient par ordre alphabétique, à la suite de quoi le fichier sort.txt rempli de manière aléatoire, après avoir été redirigé vers le programme de tri, sera trié par ordre alphabétique
sorte< sort.txt | more — а построение в канал отобразит отсортированные данные постранично
sorte< sort.txt | grep s | more — отсортирует и выведет все со знаком «S»

Une autre chose utile à savoir est le transfert du résultat d'une commande à une autre ou plusieurs.
Un exemple de ceci serait :

cat / var / log / maillog | grep bloqué | Suite

1) cat - affiche l'intégralité du fichier journal
2) alors ce fichier journal est transféré à la commande grep pour traitement, qui ne sort qu'avec Bloqué, mais comme il y a beaucoup de messages avec ce statut, il est nécessaire de le transférer à la commande more
3) plus - nécessaire pour afficher les données page par page

Une telle séquence de commandes est appelée transmission dans un canal, lorsque les données d'une commande sont transférées au traitement d'une autre, et celles d'une autre, et ainsi de suite, jusqu'à ce qu'elles prennent la forme souhaitée.

Calculs mathématiques

Les mathématiques Linux sont plus faciles à faire avec la commande bc
Dans ce cas, il n'est pas nécessaire de définir le nombre de chiffres après la virgule flottante à l'aide de l'échelle

#! / bin / bash
var1 = 45
var2 = 22
var3 = échelle « écho » = 3 ; $ var1 / $ var2 " | bc`
echo $ var3

Plutonit.ru - Administration, configuration de Linux et Windows 2009 - 2018

Erreur de base de données : la table 'a111530_forumnew.rlf1_users' n'existe pas

Accueil -> MyLDP -> Livres électroniques Linux

Création et exécution d'un script

Nous écrivons un script et choisissons un nom pour lui

Un script shell est une séquence de commandes que vous pouvez utiliser encore et encore. L'exécution de cette séquence, en règle générale, est effectuée en entrant le nom du script sur la ligne de commande. De plus, avec cron, vous pouvez utiliser des scripts pour automatiser des tâches. Une autre utilisation des scripts est de démarrer et d'arrêter un système UNIX, où les scripts d'initialisation définissent des opérations avec des démons et des services.

Pour créer un script shell, ouvrez un nouveau fichier vide dans votre éditeur. Vous pouvez utiliser n'importe quel éditeur de texte pour cela : vigueur, emac, gedit, dtpad etc.; tout fera l'affaire. Cependant, vous pouvez choisir un éditeur plus avancé tel que vigueur ou emac puisque de tels éditeurs peuvent être configurés pour reconnaître la syntaxe shell et Bash, et peuvent être d'une grande aide pour éviter les erreurs que les débutants commettent souvent, comme oublier de fermer les parenthèses et les points-virgules.

Tapez les commandes UNIX dans un nouveau fichier vide comme vous le feriez sur la ligne de commande. Comme indiqué dans le chapitre précédent (voir la section « Exécution d'une commande »), les commandes peuvent être des fonctions shell, des commandes intégrées, des commandes UNIX ou d'autres scripts.

Choisissez un nom mnémonique pour votre script qui vous indique ce que fait le script. Assurez-vous que le nom de votre script n'entre pas en conflit avec les commandes existantes. Pour éviter toute confusion, les noms de script se terminent souvent par l'extension .sh. Cependant, il peut y avoir d'autres scripts sur votre système avec le même nom que vous choisissez. Utilisation des commandes lequel, où se trouve et d'autres, recherchez des informations sur les programmes et fichiers existants sous ce nom :

which -a script_name whereis script_name localise script_name ( environ.

Rédaction de scripts sous Linux (apprentissage par l'exemple)

: remplacez par le nom de votre script).

Script script1.sh

Dans cet exemple, nous utilisons la commande écho, intégré à Bash, qui informe l'utilisateur de ce qui doit être fait avant de sortir la sortie. Il est fortement recommandé d'informer les utilisateurs de ce que fait le script afin que les utilisateurs ne devenait pas nerveux s'il leur semblait que le script ne faisait rien... Nous reviendrons sur le sujet de la notification des utilisateurs au chapitre 8, Rédaction d'un script interactif.

Graphique 2.1. Script script1.sh

Écrivez le même script pour vous-même. Ce serait une bonne idée de créer un répertoire pour vos scripts. Ajoutez ce répertoire au contenu de la variable :

export CHEMIN = "$ CHEMIN : ~ / scripts"

Si vous débutez avec Bash, utilisez un éditeur de texte qui utilise différentes couleurs pour différentes constructions de shell. La mise en évidence de la syntaxe est prise en charge dans vigueur, gvim, (x) emac, kécrire et dans de nombreux autres éditeurs, consultez la documentation de votre éditeur préféré.

Exécuter un script

Pour qu'un script soit exécuté, il doit disposer des droits d'exécution pour les utilisateurs appropriés. Après avoir défini les autorisations, vérifiez que vous avez réellement défini les autorisations souhaitées. Lorsque cela est fait, le script peut être exécuté comme n'importe quelle autre commande :

willy: ~ / scripts> chmod u + x script1.sh willy: ~ / scripts> ls -l script1.sh -rwxrw-r— 1 willy willy 456 24 décembre 17:11 script1.sh willy: ~> script1.sh Le le script commence maintenant. Salut willy ! Je vais maintenant vous chercher une liste d'utilisateurs connectés : 15h38 jusqu'à 18 jours, 5h37, 4 utilisateurs, charge moyenne : 0,12, 0,22, 0,15 USER TTY FROM [email protégé] IDLE JCPU PCPU QUOI root tty2 - Sam 14h 4: 25m 0,24s 0,05s -bash willy: 0 - Sam 14h? 0,00 s ? - willy pts / 3 - Sam 14h 3: 33m 36.39s 36.39s BitchX willy ir willy pts / 2 - Sam 14h 3: 33m 0.13s 0.06s / usr / bin / screen Je règle maintenant deux variables. Ceci est une chaîne : noir Et ceci est un nombre : 9 Je vous rends votre invite maintenant. willy: ~ / scripts> echo $ COLOR willy: ~ / scripts> echo $ VALUE willy: ~ / scripts>

C'est la manière la plus courante d'exécuter un script. Il est préférable d'exécuter des scripts comme celui-ci dans un sous-shell. Les variables, fonctions et alias créés dans ce sous-shell ne sont connus que dans cette session bash particulière dans ce sous-shell. Lorsque ce shell est quitté et que le contrôle est repris par le shell parent, tous les paramètres sont effacés et toutes les modifications apportées par le script dans l'état de ce shell sont oubliées.

Si vous n'avez pas spécifié de répertoires ou (répertoire courant) dans la variable, vous pouvez activer le script comme suit :

./nom_script.sh

Vous pouvez également exécuter le script à l'intérieur d'un shell existant, mais cela n'est généralement fait que si vous souhaitez l'accessibilité, par exemple, si vous souhaitez vérifier si le script fonctionne avec un autre shell, ou émettre une trace à des fins de débogage ( environ.- spécifiez le nom de votre script à la place):

rbash nom_script.sh sh nom_script.sh bash -x nom_script.sh

Le shell de commande spécifié démarrera en tant que sous-shell de votre shell actuel et exécutera le script. Ceci est fait lorsque vous souhaitez que le script s'exécute avec des paramètres spécifiques ou dans certaines conditions qui ne sont pas spécifiées dans le script lui-même.

Si vous ne souhaitez pas démarrer un nouveau shell de commande, mais souhaitez exécuter le script dans le shell actuel, utilisez la commande :

nom_script_source.sh

Dans ce cas, le script n'a pas besoin d'autorisation d'exécution. Les commandes sont exécutées dans le contexte du shell actuel, de sorte que toutes les modifications apportées à votre environnement resteront visibles une fois l'exécution du script terminée :

willy: ~ / scripts> source script1.sh —sortie omise— willy: ~ / scripts> echo $ VALUE 9 willy: ~ / scripts>

La console Linux est l'outil qui vous permet d'effectuer de telles manipulations que la ligne de commande de Windows ne permet pas, la console Linux est la carte de visite d'UNIX. Aujourd'hui, le matériel n'est pas sur la façon d'écrire des scripts, non, je ne vais pas vous apprendre comment, quoi et pourquoi. Nous allons examiner une petite sélection de scripts utiles que vous pouvez utiliser tous les jours pour résoudre divers problèmes, par exemple, regarder la météo plusieurs jours à l'avance, des scripts pour un serveur Web en une seule ligne, écrire un bot pour Twitter et un script pour lancer automatiquement n'importe quel client torrent.

Ce matériel n'a pas été écrit pour vous engager dans le chamanisme, en aucun cas je ne vous invite à vous asseoir dans la console et à taper des centaines de caractères afin d'effectuer certaines actions que vous pouvez effectuer dans l'interface graphique uniquement en passant la souris sur l'élément vous avez besoin. Mais il y a une chose, mais l'interface graphique n'est pas toujours la meilleure solution, souvent pour résoudre de nombreuses tâches, la console et les scripts font bien mieux que les applications avec une interface graphique, et il ne faut donc pas oublier les scripts, car ils résolvent beaucoup de tâches routinières mieux que les outils graphiques. Il convient également d'ajouter que n'importe quel DE vous permet de créer une icône pour vos scripts, en cliquant sur laquelle vous pouvez facilement les lancer sans ouvrir la console.

Commençons par des exemples simples

La commande ci-dessous vous montrera votre IP externe - c'est idéal si vous accédez au réseau à l'aide d'un routeur. Cette commande accède au serveur ifconfig.co, qui renvoie l'adresse IP sur une ligne sans les tracas dont vous n'avez pas besoin.

Curl ifconfig.co

Oui, ce n'est pas un script, c'est une petite commande, mais si vous voulez transformer cette commande en script, il vous suffit de la mettre dans un fichier texte, du coup on aura un petit script bash :

#! / bin / bash curl ifconfig.co

Nous enregistrons le script dans le répertoire ~/bin et accordons les autorisations d'exécution :

Chmod + x ~ / bin / yourip.sh

Presque terminé, vous pouvez exécuter le script à partir de la ligne de commande en utilisant la commande yourip.sh.

On a fini avec l'ip, voyons la météo depuis la console.

#! / bin / sh curl -4 wttr.in/Kiev

Ce script permet d'obtenir un résumé météo pour quatre jours, en l'occurrence la météo de la ville de Kiev.

#! / bin / sh dig + txt court $ 1.wp.dg.cx

Ci-dessus, vous voyez un exemple de la façon dont vous pouvez obtenir une brève description de quelque chose sur Wikipedia, dans notre cas, nous utilisons une requête DNS au lieu d'accéder à un serveur Web. Il est également très simple de créer un serveur web via la console :

#! / bin / sh while (nc -l 80< file.html >:); faire:; terminé

Le script ci-dessus est basé sur l'utilitaire netcat (nc), souvent appelé le couteau suisse, car il vous permet de faire de nombreuses astuces pour les opérations réseau. Le script est simple, il démarre une boucle qui exécute la commande nc, il écoute déjà le 80ème port et en réponse à la requête donne fichier.html, envoyant la requête transmise nulle part (le symbole signifie noop, c'est-à-dire une opération vide).

À l'aide de scripts et de commandes simples, vous pouvez écouter la radio Internet :

#! / bin / sh mpv --volume = 50 -playlist ~/16bit.fm_128.m3u

Bien sûr, avant cela, vous devez télécharger la liste de lecture radio au format M3U sur le site Web de la station de radio. Si vous démarrez MPlayer en utilisant l'argument -input-ipc-server = / tmp / mpvsocket, il peut être contrôlé en écrivant des commandes dans un fichier. Par exemple, réglez le volume :

Écho "volume +10" | socat - / tmp / mpvsocket

Nous créons deux scripts : le premier pour démarrer, et l'autre pour arrêter la radio (dans lequel nous écrirons la ligne killall mpv), puis l'accrocher sur le bureau en configurant conjointement les raccourcis clavier DE pour contrôler la lecture. Et vous avez terminé, vous avez un lecteur avec lequel vous pouvez écouter la radio Internet.

Emportés par les opérations réseau, passons aux opérations locales.

#! / bin / sh tar -czf "../$(PWD##*/).tar.gz".

Ce script crée une archive tar.gz pour le répertoire courant. Une attention particulière doit être portée à la construction $ (PWD ## * /), qui prend le chemin entier vers le répertoire courant (variable $ PWD), puis supprime la première partie jusqu'à la dernière barre oblique, de sorte que seul le nom du répertoire reste et l'extension tar.gz y est ajoutée. Si vous souhaitez en savoir plus sur ces constructions, vous pouvez les lire en exécutant man bash dans la console.

#! / bin / sh tant que vrai; do inotifywait -r -e MODIFY DIRECTORY && YOUR_COMMAND done

Le script ci-dessus exécute la commande en réponse aux modifications de fichier dans le répertoire. Vous pouvez l'utiliser à différentes fins, par exemple pour allumer automatiquement le lecteur lors de l'enregistrement de MP3. Ou, par exemple, affichez une notification sur le bureau à l'aide de la commande notify-send :

Notifier-envoyer "Fichier modifié"

Bureau

Vous trouverez ci-dessous un exemple de script qui charge un fond d'écran aléatoire qui est publié sur le fond d'écran reddit :

#! / bin / bash wget -O - http://www.reddit.com/r/wallpaper | \ grep -Eo "http://i.imgur.com [^ &] + jpg" | \ shuf -n 1 | \ xargs wget -O background.jpg feh --bg-fill background.jpg

Tout fonctionne assez simplement. À l'aide de l'utilitaire wget, le script charge la page www.reddit.com/r/wallpaper, puis la transmet à grep, qui recherche déjà des liens vers imgur, et en choisit un au hasard avec shuf, le charge à l'aide de wget et le définit comme fond d'écran pour votre bureau à l'aide de la commande feh (il s'agit d'une visionneuse d'images miniature qui doit d'abord être installée). Vous pouvez ajouter ce script à un fichier texte normal comme je l'ai décrit ci-dessus, l'enregistrer au format sh, le rendre exécutable, y ajouter une icône et l'exécuter depuis le bureau en cliquant et votre fond d'écran changera.

#! / bin / sh état = `synclient | grep TouchpadOff | cut -d "=" -f 2` if [$ state = "1"] ; alors synclient TouchpadOff = 0 sinon synclient TouchpadOff = 1 fi

Le script ci-dessus est utilisé pour activer et désactiver le pavé tactile de votre ordinateur portable : activez s'il est désactivé, et vice versa. Pour un bon fonctionnement, il utilise l'utilitaire synclient, qui permet de gérer les pavés tactiles, qui sont pour la plupart produits par Synaptics, c'est 90% peut-être même plus. Après le démarrage, l'utilitaire affiche de nombreuses informations, ainsi que la ligne TouchpadOff = 1, si activé, et TouchpadOff = 2, si désactivé. Le script lit ces valeurs et, selon l'état du pavé tactile, l'activera ou le désactivera.

! # / bin / bash mpv tv: // -frames 3 -vo jpeg mv 00000003.jpg photo.jpg rm -f 0000 * .jpg

En utilisant le script ci-dessus, vous pouvez prendre un instantané à l'aide de votre webcam. Le script utilise un lecteur vidéo mpv qui écrit les trois premières images prises par l'appareil photo dans des fichiers JPEG avec les noms 0000000.jpg, 00000002.jpg, 00000003.jpg, etc., après quoi la troisième image est renommée en photo.jpg fichier, et le reste est supprimé. A quoi servent les trois clichés ? Ils ne sont nécessaires que pour que votre appareil photo ait le temps de s'initialiser, si vous utilisez les deux premiers clichés, vous obtenez généralement un cliché noir. Il y a aussi des incidents de positionnement, la photo peut être retournée ; pour éviter cela, mpv doit être exécuté avec l'option -vf flip :

Mpv tv : // -frames 3 -vf flip -vo jpeg

Vous pouvez utiliser la même commande pour créer une caméra de sécurité qui ne prendra des photos que lorsque l'utilisateur touche la souris :

#! / bin / bash tant que true; do sudo cat / dev / input / mouse0 | read -n1 mpv tv: // -frames 3 -vo jpeg mv 00000003.jpg `date +% F-% H-% M`.jpg rm -f 0000 * .jpg sleep 10 done

Le script ci-dessus utilise une boucle infinie pour recevoir les données du périphérique / dev / input / mouse0. S'il y a des données, alors la souris a été déplacée ou l'un de ses boutons a été enfoncé. Ensuite, mpv est utilisé pour créer trois instantanés, le troisième instantané est nommé la date du jour et les deux premiers sont supprimés.

Si vous souhaitez enregistrer une vidéo à part entière à partir d'une webcam, par exemple, vous pouvez utiliser un script similaire :

#! / bin / bash mencoder tv : // -tv driver = v4l2 : width = 800 : height = 600 : device = / dev / video0 : fps = 30 : outfmt = yuy2 : forceaudio : alsa : adevice = hw.2, 0 -ovc lavc -lavcopts vcodec = mpeg4: vbitrate = 1800 -ffourcc xvid -oac mp3lame -lameopts cbr = 128 -o video.avi

En conséquence, vous obtiendrez un fichier appelé video.avi au format MPEG4 avec un débit de 1800 bits et un fichier audio au format MP3 avec un débit de 128 bits.

#! / bin / bash ffmpeg -f x11grab -r 25 -s 1366x768 -i: 0.0 screencast.mpg

En utilisant le script ci-dessus, vous pouvez enregistrer un screencast complet. 1366 × 768 est la résolution du bureau, vous pouvez la personnaliser vous-même. Pour prendre une capture d'écran d'une fenêtre séparée, vous pouvez utiliser la commande d'importation :

Importer screenshot.png

Si vous exécutez la commande ci-dessus, l'icône du curseur de votre souris se transformera en croix, à l'aide de laquelle vous pourrez sélectionner une zone de l'écran comme vous le faites lorsque vous prenez des captures d'écran à l'aide d'applications ou d'extensions tierces. Si vous suspendez cette commande à l'un des raccourcis clavier, vous obtiendrez un système presque parfait pour prendre des captures d'écran, et cette combinaison ne consommera pas votre RAM, ce qui en fait un énorme avantage.

Vous pouvez également configurer un moniteur externe à l'aide de la console :

#!/bin/sh if [-z "$ 1"]; puis quitter fi if [$ 1 == "off"]; then xrandr --output VGA-0 --off xrandr -s 0 else if [$ 1 == "on"]; puis xrandr --sortie LVDS --auto --primaire --sortie VGA-0 --auto --gauche de LVDS xrandr --newmode "1920x1080" 173,00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync + vsync xrandr - addmode VGA-0 1920x1080 xrandr --sortie VGA-0 --mode 1920x1080 fi xrandr --dpi 96

Ce script est basé sur le fait que le moniteur principal est nommé LVDS et le moniteur externe est VGA-0. C'est la situation standard pour tous les ordinateurs portables ; si vous n'êtes pas sûr, vous pouvez vérifier en exécutant la commande xrandr : lors du passage de l'argument au script désactivé il éteint le moniteur externe, l'argument est au, à son tour, l'allume en le positionnant à gauche du principal (argument -gauche de LVDS en équipe première). Ensuite, le script crée une nouvelle configuration pour le moniteur avec une résolution de 1920 x 1080 et l'active. Et à la fin, le script définit la valeur DPI par défaut - car lorsque vous connectez un moniteur avec une résolution différente, il vole souvent.

Dans la plupart des cas, les commandes xrandr -nouveaumode ... et xrandr -addmode ... pas nécessaire car Xorg obtiendra la configuration et la résolution du moniteur en utilisant EDID. Parfois, cependant, cela ne se produit pas, et la ligne de configuration après l'argument -nouveau mode, vous devez le générer vous-même à l'aide de l'outil cvt :

Cvt 1920 1080

À l'aide de l'outil cvt, vous pouvez générer des résolutions non standard qui ne sont pas prises en charge par le moniteur par défaut.

Recherche Google à partir de la ligne de commande

Revenons aux services réseau. Comment obtenir les 10 premiers résultats de recherche sur Google ? Voir le script ci-dessous :

#!/bin/bash Q = "" URL = "https://www.google.de/search?tbs=li:1&q=" AGENT = "Mozilla / 4.0" stream = $ (curl -A "$ AGENT" -skLm 10 "$ (GOOG_URL) $ (Q // \ / +)" | grep -oP "\ / url \? q =. +? & amp" | sed "s | / url? q = ||; s | & amp || ") echo -e" $ (stream // \% / \ x) "

Ce script envoie une requête à Google en utilisant curl, remplace les espaces dans la barre de recherche par des plus. Ensuite, des liens apparaissent dans la réponse HTML

Exemple avec le service YouTube :

#! / bin / bash mpv -fs -quiet `youtube-dl -g" $ 1 "`

Le script de l'exemple ci-dessus lit la vidéo avec l'ID spécifié dans l'argument à l'aide du lecteur mpv. Vous devez installer youtube-dl à l'avance.

Voici quelques exemples de travail avec Twitter. Ci-dessous, vous verrez un script d'un bot à part entière qui accepte une commande à l'entrée, l'exécute à l'aide de l'interpréteur de commandes et envoie le résultat à l'utilisateur spécifié.

#! / bin / bash USER = "Votre pseudo" tant que vrai; faire CMD = `echo" / dma +1 "| ttytter -script | sed "s / \ [. * \] \ //" if [$ CMD! = $ OLD_CMD]; alors REPL = `$ CMD` echo" / dm $ USER $ (REPL : 0 : 140) " | ttytter -script CMD = $ OLD_COMD fi sleep 60 done

Le script utilise le client de la console ttytter, lit la dernière valeur du message direct de la boucle, puis il vérifie si cette commande a été exécutée, sinon, l'exécute et l'envoie à l'utilisateur spécifié avec la variable USER rognant à 140 caractères .

Pour que tout fonctionne, vous devez installer l'utilitaire ttytter, l'exécuter, puis copier le lien généré depuis la console et le coller dans la barre d'adresse du navigateur, valider, accepter, puis obtenir la clé d'authentification, copier et coller dans la console dans le ttytter. Bien entendu, avant tout cela, il est conseillé d'ajouter un utilisateur distinct et de se connecter sous son compte.

Vous pouvez utiliser Twitter non seulement pour créer un bot, mais aussi pour surveiller la machine. Le script ci-dessous envoie un message à la bande avec des informations sur l'état de la machine (nom d'hôte, temps de disponibilité, charge, mémoire libre et charge CPU) :

#! / bin / bash HOST = `hostname -s` UP =` uptime | coupe -d "" -f4,5 | cut -d "," -f1` LOAD = ` disponibilité | cut -d ":" -f5,6` MEM = `ps aux | awk "(somme + = 4 $); END (impression somme)" `CPU =` ps aux | awk "(sum + = $ 3); END (print sum)" `tweet =" Hôte : $ (HOST), disponibilité : $ (UP), cpu : $ (CPU)%, mémoire : $ (MEM)%, loadavg $ (LOAD) "if [$ (echo" $ (tweet) "| wc -c) -gt 140]; then echo "FATAL : Le tweet fait plus de 140 caractères !" sortie 1 fi echo $ tweet | ttytter -script

Enfin, voyez le script ci-dessous, ce script sert à démarrer et arrêter le client torrent pendant que votre PC est inactif :

#!/bin/bash IDLE = 600000 STOPCMD = "transmission-remote -S" STARTCMD = "transmission-remote -s" STOPPED = "oui" tant que vrai; faire si [`xprintidle` -gt $ IDLE] ; alors si [$ STOPPED = "oui"]; then $ STARTCMD STOPPED = "no" fi else if [$ STOPPED = "no"]; then $ STOPCMD STOPPED = "oui" fi fi sleep 60 done

Chaque minute, le script entre dans une boucle sans fin et vérifie combien de temps en millisecondes s'est écoulé depuis le moment où l'utilisateur a effectué les dernières actions (xprintidle est utilisé à cette fin). Si 600 000 ms (dix minutes) se sont écoulées, le script exécute la commande spécifiée dans la variable STARTCMD. Sinon, la commande STOPCMD est exécutée, mais uniquement si STARTCMD a été exécutée avant elle. En termes simples, vous ne faites rien à l'ordinateur pendant dix minutes, puis STARTCMD démarre, dans notre cas, c'est la commande qui démarre tous les téléchargements dans Transmission, sinon, tous les téléchargements sont mis en pause. Vous n'aimez pas le client Transmission ? Nous utilisons les commandes pour Deluge, voir ci-dessous :

STOPCMD = "pause déluge-console \ *" STARTCMD = " reprise déluge-console \ *"

Sortir

© 2021 hecc.ru - Actualités informatiques