Bash-builtins . :
Fermé
gnugo
-
2 févr. 2012 à 11:44
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 3 févr. 2012 à 17:47
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 3 févr. 2012 à 17:47
A voir également:
- Bash-builtins . :
- Bash écrire dans un fichier -
- Bash path - Astuces et Solutions
- Bash permission non accordée - Forum Shell
- Bash arguments - Astuces et Solutions
- Bingo bash free - Télécharger - Divers Jeux
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
2 févr. 2012 à 12:05
2 févr. 2012 à 12:05
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".
Utilisateur anonyme
Modifié par qqchquicommenceparQ le 2/02/2012 à 13:11
Modifié par qqchquicommenceparQ le 2/02/2012 à 13:11
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.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
2 févr. 2012 à 13:17
2 févr. 2012 à 13:17
Salut,
Merci.
Pour l'expansion j'avais plus pensé à l'extraction de sous-chaîne (${paramètre:début:longueur}) mais j'avais du mal à faire le parallèle ;-\
Pour la redirection, ça doit s'appliquer aux anciens shells, non ? ;-\
Merci.
Pour l'expansion j'avais plus pensé à l'extraction de sous-chaîne (${paramètre:début:longueur}) mais j'avais du mal à faire le parallèle ;-\
Pour la redirection, ça doit s'appliquer aux anciens shells, non ? ;-\
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 ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
3 févr. 2012 à 17:26
3 févr. 2012 à 17:26
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 $
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
Modifié par zipe31 le 3/02/2012 à 17:48
Modifié par zipe31 le 3/02/2012 à 17:48
Attention toutefois de ne pas appeler un fichier contenant un "exit", sans quoi tu es expulsé de ton shell manu-militari ;-))
Modifié par dubcek le 2/02/2012 à 14:25
edit: le : permet des commentaires au millieu de commandes
2 févr. 2012 à 14:15