Richard Bruno
navigation
Home
admin









Shell
October 18th, 2016

Table des matières


Boucle
Tests
Crontab
rename


Boucle



#!/bin/sh
# Fichier "50fichiers-for"

# la commande "seq a b" compte de a à b
for numero in `seq 1 50`
do touch fichier"$numero"
done


Source http://www.tuteurs.ens.fr/unix/shell/boucle.html

Autre solution (moins couteuse car pas de sous shell de lancé) :


for fichier in {1..5}; do touch fichier$fichier; done




Tests



# Premier cas

[ -f foo ] && echo "Le fichier foo existe."


Dans l'exemple précédent, le shell teste si le fichier foo existe. Comme il n'existe pas, le code de retour de ce test est 0. Or, l'opérateur « && » n'exécute ce qui suit que si le code de retour est 1. Comme ce n'est pas le cas, les commandes ne sont pas exécutées.

# Deuxième cas

[ -f foo ] pipe pipe echo "Le fichier foo n'existe pas."


Le fichier foo n'existe pas.
Dans cet exemple, l'opérateur n'est plus « && » mais « pipe pipe ». Les commandes ne s'exécutent que si le code de retour vaut 0 ; comme c'est le cas, elles sont exécutées.

Source http://www.tuteurs.ens.fr/unix/shell/test.html

Crontab


Quand un job est exécuté depuis la crontab d'un utilisateur, le job est exécuté avec les droits de cet utilisateur. Cependant, les fichiers chargés au démarrage de la session (par ex. .bashrc, .bash_profile) ne sont pas chargés lors de l'exécution du job via cron. Si vous voulez bénéficier de certaines variables, vous devez vous même les charger dans votre script :

. /home/bruno/.bashrc



Source http://www.pantz.org/software/cron/croninfo.html

rename



La commande rename est bien pratique pour renommer des séries de fichiers :

$ ls
index.html index.html.1 index.html.2 index.html.3 index.html.4 index.html.5 index.html.6 index.html.7 index.html.8 out titi
$ rename 's/index.html/toto.html/' index*
$ ls
out titi toto.html toto.html.1 toto.html.2 toto.html.3 toto.html.4 toto.html.5 toto.html.6 toto.html.7 toto.html.8






Dernières modifs
Systemd (October 24th, 2020)
TP - rsyslogd (June 20th, 2017)
Gestion de la memoire (June 20th, 2017)
Ansible (November 10th, 2016)
Fichiers et systèmes de fichiers (November 8th, 2016)
X (October 20th, 2016)
Obtenir des informations sur le système (October 19th, 2016)

Contact
Pour m'envoyer un mail,
Pour me laisser un commentaire :
richard.brunooo
chez
gmail.com


powered by kure, modified by Bruno