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 :
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 |
|
|
Contact
|
|---|
Pour m'envoyer un mail, Pour me laisser un commentaire :richard.brunooo chez gmail.com |  |
|
|