Bash-builtins . :
gnugo
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
pouvez vous me dire à quoi servent les commandes "." et ":" ?
le manuel dit:
Pas clair du tout.
Merci d'avance
pouvez vous me dire à quoi servent les commandes "." et ":" ?
le manuel dit:
: [arguments] No effect; the command does nothing beyond expanding arguments and performing any specified redirections. A zero exit code is returned. . filename [arguments]
Pas clair du tout.
Merci d'avance
A voir également:
- Bash-builtins . :
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
3 réponses
Salut,
Source man bash
Pour la 1ère commande, j'avoue ne pas en savoir plus, sinon que je l'emploie souvent avec un "while" de cette façon :
while :
...
ce qui est un synonyme de :
while true
...
Ce qui explique bien sa définition. Mais je ne l'ai jamais employé avec des arguments.
Par contre pour la 2nd, tu as oublié ce qui suivait, en effet le "." est un synonyme de la commande "source".
Source man bash
: [arguments] Pas d'effet. Cette commande ne fait rien d'autre que l'expansion des arguments et la mise en place des redirections. Le code de retour est nul. . fichier [arguments] source fichier [arguments] Lire et exécuter les commandes contenues dans le fichier avec l'environnement du shell en cours, puis renvoyer le code de retour de la dernière commande exécutée dans le fichier. Si le nom du fichier ne contient pas de slash, les chemins d'accès contenus dans PATH sont parcourus pour rechercher le répertoire contenant le fichier. Lorsqu'il est recherché dans le PATH le fichier n'a pas besoin d'être exécutable. Le répertoire de travail en cours est finalement examiné si aucun fichier n'est trouvé dans le PATH. Si l'option sourcepath de la commande interne shopt est désactivée, le PATH n'est pas parcouru. Si des arguments sont fournis, ils sont transmis dans les paramètres positionnels lorsque le fichier est exécuté. Sinon les paramètres positionnel ne sont pas modifiés. Le code de retour est celui de la dernière commande exécutée au sein du script (0 si aucune commande n'est exécutée), et faux si le fichier n'est pas trouvé.
Pour la 1ère commande, j'avoue ne pas en savoir plus, sinon que je l'emploie souvent avec un "while" de cette façon :
while :
...
ce qui est un synonyme de :
while true
...
Ce qui explique bien sa définition. Mais je ne l'ai jamais employé avec des arguments.
Par contre pour la 2nd, tu as oublié ce qui suivait, en effet le "." est un synonyme de la commande "source".
salut,
un exemple d'expansion
si var n'est pas encore assignée alors lui assigner foo, si elle est déjà assignée, elle garde la valeur foo
pour les redirections
dans certaines conditions (ça ne me revient pas immédiatement)
un exemple d'expansion
si var n'est pas encore assignée alors lui assigner foo, si elle est déjà assignée, elle garde la valeur foo
: ${var:=foo}
pour les redirections
dans certaines conditions (ça ne me revient pas immédiatement)
> filenamene fonctionne pas, alors que
: >filenamemarche très bien.
Je vous remercie
Par contre j'ai toujours du mal à comprendre la commande source, dans quels cas elle pourrait être utile
auriez-vous un/des exemple(s) à me montrer ?
Par contre j'ai toujours du mal à comprendre la commande source, dans quels cas elle pourrait être utile
auriez-vous un/des exemple(s) à me montrer ?
Re-
L'exemple le plus employé en général est lorsque tu modifies ton fichier ".bashrc" et que tu veux que les modifications soient répercutées sur ton shell actif. Ou tu te déconnectes et te relogues dans la foulée, soit tu sources ton fichier et tu bénéficies des changements immédiatement :
Sinon un petit exemple :
L'exemple le plus employé en général est lorsque tu modifies ton fichier ".bashrc" et que tu veux que les modifications soient répercutées sur ton shell actif. Ou tu te déconnectes et te relogues dans la foulée, soit tu sources ton fichier et tu bénéficies des changements immédiatement :
source ~/.bashrc
Sinon un petit exemple :
$ echo $A # Cette variable n'est pas définie dans mon environnement $ echo $B # Idem pour celle là $ cat brol # Ce fichier contient 2 variables et 1 commande A="toto" B="titi" ls $ source brol # Je source mon fichier. La commande est exécutée brol f2 plop $ echo $A # La variable $A est maintenant définie dans mon environnement toto $ echo $B # Idem pour $B titi $
edit: le : permet des commentaires au millieu de commandes