Audio :
Peer2peer :
Coding
Langage CMandrake
Materiel
Messagerie Instantanée
Sécurité
Autres
$./script1.sh < argument >Lors du lancement du programme l'argument est placé dans une variable spéciale géré par le système, la valeur est récupérable dans la variable spéciale : $1 le 1 correspond au premier argument si notre programme devait disposer de plusieurs arguments les valeurs seraient récupérables avec :
if [ ! -e "$1" ]; then commande 1... elif [ -f "$1" ]; then commande 2... elif [ -d "$1" ]; then commande 3... fiSi nous suivons cette syntaxe, en français cela donnerai :
if [ ! -e "$1" ]; then commande 1...Sinon si l'argument est un fichier éxécuter commande 2
elif [ -f "$1" ]; then commande 2...Sinon si c'est un repertoire éxécuter commande 3
elif [ -d "$1" ];then commande 3...fin du si
fila ligne if [ ! -e "$1" ]; then doit être bien comprise le ! est important il va nous permette de faire le test à l'envers en rapport avec la négation c'est un opérateur logique il existe d'autres opérateurs logiques de bases le ET et le OU le ! ce traduit par NON. Si vous ne savez ce qu'est un opérateur logique lisez ceci.
if [ ! -e $1 ]; then echo -e "n'existe pas" elif [ -f "$1" ]; then echo -e "C'est un fichier" elif [ -d "$1" ]; then echo -e "C'est un repertoire" fi fiDans tout script shell il faut préciser quel shell vous utiliser dans notre cas c'est le bash, vous devez mettre en tout premier cette ligne :
#!/bin/bashnotre script touche peu être bientôt à ça fin voila le résultat de notre script pratiquement fini :
#!/bin/bash if [ ! -e "$1" ]; then echo -e "n'existe pas !" elif [ -f "$1" ]; then echo -e "c'est un fichier" elif [ -d "$1" ]; then echo -e "c'est un repertoire" fi fiSauvegardez le fichier en script1.sh puis attribué lui le droit d'éxécution avec la commande chmod comme ceci :
$chmod u+x script1.shMaintenant créez un fichier avec la commande touch et un repertoire avec la commande mkdir :
$touch fichier.tmp $mkdir repertoireIl ne reste plus cas lancer le script de cette manière pour tester fichier.tmp :
$./script1.sh fichier.tmp c'est un fichier $Pour repertoire :
$./script1.sh repertoire c'est un repertoire $Super ça fonctionne bien non ?
if [ $# -ne 1 ]; then echo -e "Erreur $0 a besoin d'un argument !" fiRajoutons maintenant ce test à notre script qui en version finale nous donne ceci :
#!/bin/bash
if [ $# -ne 1 ]; then
echo -e "Erreur $0 a besoin d'un argument"
elif [ ! -e "$1" ]; then
echo -e "n'existe pas"
elif [ -f "$1" ]; then
echo "c'est un fichier"
elif [ -d "$1" ]; then
echo "c'est un repertoire"
fi
fi
fi
Version finale ?
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Erreur $0 a besoin d'un argument"
exit 1
elif [ ! -e "$1" ]; then
echo "existe pas"
exit 1
elif [ -f "$1" ]; then
echo "c est un fichier"
exit 0
elif [ -d "$1" ]; then
echo "c est un repertoire"
exit 0
fi
fi
fi
C'est terminé, çi çi c'est vrai pas besoin d'en rajouter pour ce script, j'espère que vous avez compris le mecanisme et la logique du script dans le cas contraire laissez un mesage dans le forum réservé à la programmation.
: interne
: sortant
: téléchargement
: Anglophone
- [
Powered by Itseasy v0.3.7
|
Thème : Light Blue par Vanquish
] -
Les informations ne sont données qu'à titre indicatif.
© routes-linux, tous droits réservés - Reproduction interdite.
[ Page générée en 0.00255 secondes | Compression gZip active ]
Poids XHTML : 14.17 ko (17.51 ko non compressé) - CSS : 5.05 ko
Eléments chargés : 7.16 ko