{{tag>cour fun-mooc mooc informatique bash}}
====== Bash: Gestion des variables et de l'environnement ======
Sous Unix il existe deux catégories... odifications de l'environnement et des options du bash influenceront le comportement du shell et des pro... **interne** de type chaîne de caractères:
<code bash>
# Attention pas d'espaces entre le nom de variab
nclassrooms]].
====== Lancez des commandes sous Bash ======
Passons à la pratique : nous allons explorer les différentes fonctionnalités de Bash, directement depuis un terminal de commandes.
=... ssez austère qui vous présente un **prompt** :
{{bash_prompt.png|Capture d'écran d'un prompt}}
Cette ... pas magique. Elle est stockée dans un fichier (~/.bashrc) et dans une variable gérée par le shell Bash.
{{tag>cour fun-mooc informatique shell bash}}
====== Bash: Structures itératives ======
Dans une structure itérative ou "boucle" un même bloc de ... n à beaucoup de langages
de programmation.
<code bash>
while condition
do
commande1
commande2
...... xemple d'utilisation de boucles while ====
<code bash>
#!/bin/bash
# Si l'argument 1 est vide, un mot
{{tag>cour fun-mooc informatique bash}}
====== Bash: construire des filtres élaborés ======
Certains programmes utilitaires possède beaucou... s de recherche sont présentées ci dessous.
<code bash>
# Rechercher dans les répertoires /etc et /bin
#... xemple d'utilisation de l'option **-exec**:
<code bash>
# Retrouver à partir du répertoire courant tous
vous aviez démarré Samba par la commande :
<code bash>
sudo systemctl start smbd
</code>
De la même fa... rrêter le serveur smbd par la commande :
<code bash>
sudo systemctl stop smbd
</code>
D’autres actio... te qui liste toutes les unités “actives” :
<code bash>
systemctl list-units
</code>
Vous voyez qu’il y... fficher que les unités de type “service” :
<code bash>
systemctl list-units --type=service
</code>
Vou
{{tag>cour fun-mooc informatique bash}}
====== Commandes de filtrage ======
Les filtres permettent de ... un fichier on utilise la commande **head**:
<code bash>
# extraire les 15 premières lignes
$ head -n 15 ... 'un fichier, utiliser la commande **tail**:
<code bash>
# extraire les 20 dernières lignes
$ tail -n 20 ... précisée en octets ou en nombre de lignes.
<code bash>
# découpe file en fichiers de 30 lignes max avec
ns d’utiliser LVM avec notre disque RAID :
<code bash>
$ sudo umount /dev/md0 #Le volume doit être démo... ’importe quel volume physique à ce groupe.
<code bash>
$ sudo vgcreate raid-volumes /dev/md0
</code>
V... ta2” de 200 Mo sur votre groupe de volume.
<code bash>
$ sudo lvcreate --name data1 --size 800M raid-vo... vous faut donc les formater et les monter.
<code bash>
$ sudo mkfs -t ext4 /dev/raid-volumes/data1
$ su
{{tag>cour fun-mooc bash sysadmin}}
====== Bash: Aide à la saisie et l'édition ======
Le shell Bash intègre des fonctionnalités d'aide à la saisie, à ... uches et les commandes readline voir le manuel de bash section "Readline Command Names"
</note>
===== G
{{tag>cour fun-mooc bash}}
===== Bash: calculs numériques =====
Par défaut le Bash traite toutes les valeurs comme des chaînes de caractères... opérateur doit être séparé par un espace:
<code bash>
# Pour que expr puisse interpréter correctement
{{tag>cour mooc informatique bash}}
====== Éléments d'un script shell ======
En plus du mode interacti... mple d’une affectation par la commande set:
<code bash>
$ set -- 1 2 3 4 5 6 7 8 9 a b
$ echo $1 $9 ${10... ns le script decal.sh avec le code suivant:
<code bash>
#!/bin/bash
echo $# $@
shift
echo $# $@
</code>
L’exécution de ce script avec 3 arguments montre que
{{tag>fun mooc informatique bash shell fonction}}
====== Bash: routines et fonctions =====
En mode script les fonctions permettent de... s.
===== Définition d'une fonction =====
<code bash>
# définition en début de ligne,
# mnémonique d... autres juste après le nom de la fonction:
<code bash>
nom_fonction a1 a2 a3 ... an
</code>
Les argume
nformations sur l’heure de votre système :
<code bash>
$ timedatectl Local time: Wed 2021-11-23 18:49... veur en utilisant l'argument ''set-time'':
<code bash>
# format de la date "yyyy-mm-dd hh:mm:ss"
$ sudo... es'' mais attention, il y en a beaucoup...
<code bash>
$ timedatectl list-timezones | grep -i paris
Eur... e fuseau horaire grâce à ''set-timezone'':
<code bash>
$ sudo timedatectl set-timezone Europe/Paris
</c
ses IPv6 associées aux interfaces de PC-1:
<code bash>
ip -6 address show
</code>
^ lo0 | **::1** ... 'aide des commandes **ifconfig** ou **ip**
<code bash>
$ ip link show eth0
</code>
Adresse MAC de l'in... ast peuvent être affichées via la commande:
<code bash>
$ ip -6 maddr show
</code>
Adresse multicast so... at des interfaces présentes sur le routeur:
<code bash>
show interfaces detail
</code>
^ eth0 | fd75:e
staller le serveur samba par la commande :
<code bash>
apt-get install samba
</code>
Puis, pour config... s, redémarrez le serveur par la commande :
<code bash>
# Vérifier la syntaxe du fichier de configuratio... e sambashare, ajoutez le via la commande :
<code bash>
# lister les groupes de l'utilisateur anUser
gro... ompte système (laissez vide pour nobody) :
<code bash>
pdbedit -a anUser
pdbedit -a nobody
</code>
Si
{{tag>cour fun-mooc mooc informatique shell bash}}
====== Shell Bash: constructions syntaxiques ======
Le shell est un interpréteur de ligne de comma... l'affectation d'une valeur à une variable.
<code bash>
# Affectation d'une valeur a une variable
PI=3.14
MSG="Hello Bash"
</code>
<note warning>
Ne pas introduire d'espa