A voir également:
- Ligne de commande linux
- Invite de commande - Guide
- Partage de photos en ligne - Guide
- Commande terminal mac - Guide
- Site de vente en ligne particulier - Guide
- Aller à la ligne excel - Guide
2 réponses
jee pee
Messages postés
40856
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 février 2025
9 541
Modifié le 29 nov. 2019 à 13:13
Modifié le 29 nov. 2019 à 13:13
Bonjour,
$1 est un paramètre passé au script, si tu lances
$1 est un paramètre passé au script, si tu lances
bash nom_du_fichiertu ne donnes pas de paramètre, donc le if échoue pour syntaxe incorrecte, il faudrait lancer par exemple
bash nom_du_fichier 2pour passer 2 en paramètre
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
29 nov. 2019 à 14:14
29 nov. 2019 à 14:14
Salut,
Deux, trois petites remarques concernant ta demande…
Deux, trois petites remarques concernant ta demande…
- Il est toujours préférable d'entourer les variables par des quotes doubles à moins de savoir pourquoi on ne le fait pas. La remarque précédente est d'autant plus vraie lors d'un test ([ … "${var}" … ])
- Il est aussi préférable d'entourer les variables par des accolades, surtout si on a besoin d'accoler des variables et des mots.
- Il ne sert à rien de rendre un fichier de script exécutable si on le lance en le faisant précéder d'un shell.
- Si on veut rendre un script shell (ou autre) exécutable et autonome, il faut désigner un shebang en début de script (
#!/bin/bash
ou#!/bin/zsh
ou autres). À partir de là, le script pourra être lancé de cette façon :./le_script.sh
.
29 nov. 2019 à 15:18
désoler
29 nov. 2019 à 17:04
Le contenu du fichier tel qu'il devrait être…
Le script lancé avec un paramètre (5) :
Le script lancé sans paramètre :
Tu comprends mieux ?
Modifié le 29 nov. 2019 à 15:23
29 nov. 2019 à 18:31