Variables shell - concatenation
Résolu/Fermé
A voir également:
- Variables shell - concatenation
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell startup windows 10 - Guide
- Concaténation pdf - Guide
- Ssh secure shell download - Télécharger - Divers Web & Internet
- Efi shell version 2.50 - Forum Windows 10
4 réponses
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
12 mai 2012 à 15:28
12 mai 2012 à 15:28
hello
et en utilisant cette fonction
http://www.gnu.org/software/make/manual/make.html#Using-Variables
et en utilisant cette fonction
$(strip string) Removes leading and trailing whitespace from string and replaces each internal sequence of one or more whitespace characters with a single space. Thus, `$(strip a b c )' results in `a b c'.
http://www.gnu.org/software/make/manual/make.html#Using-Variables
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
12 mai 2012 à 10:59
12 mai 2012 à 10:59
Salut,
man bash (Développement des paramètres)
man bash (Développement des paramètres)
$ DIR="output_path " $ echo "${DIR}/foo" output_path /foo $ echo "${DIR% *}/foo" output_path/foo $
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
12 mai 2012 à 11:08
12 mai 2012 à 11:08
$ echo "${DIR/ /}/foo" output_path/foo
Le fait aussi ;-))
Merci pour vos reponses. Cependant, ça ne marche pas pour moi...
echo ${DIR}
output_path
echo ${OUTPUT_DIR/ /}/foo
/foo
idem pour
echo ${OUTPUT_DIR% *}/foo
/foo
Les guillemets ne changent rien :(
NB: c'est pareil si je crée moi même DIR = "output_path"
Bizarre bizarre...
echo ${DIR}
output_path
echo ${OUTPUT_DIR/ /}/foo
/foo
idem pour
echo ${OUTPUT_DIR% *}/foo
/foo
Les guillemets ne changent rien :(
NB: c'est pareil si je crée moi même DIR = "output_path"
Bizarre bizarre...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
12 mai 2012 à 12:16
12 mai 2012 à 12:16
echo ${DIR}
output_path
echo ${OUTPUT_DIR/ /}/foo
/foo
Euh... si tu n'essaies pas d'afficher la même variable, forcément ça bugue ;-((
output_path
echo ${OUTPUT_DIR/ /}/foo
/foo
Euh... si tu n'essaies pas d'afficher la même variable, forcément ça bugue ;-((
DIR et OUTPUT_DIR sont exactement les memes variables en fait, mais desolé pour la confusion.
Le "bug" ne vient donc pas de la :)
Le "bug" ne vient donc pas de la :)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
12 mai 2012 à 12:28
12 mai 2012 à 12:28
Quel système ? Quel shell ?
Mac OS X
Je suis en bash.
Et comme je disais dans mon 1er post, ces commandes sont dans un Makefile (pour un code en C) donc le script est lancé avec la commande make. Je sais pas si ça a une infuence (??).
C'est assez etrange... Peut etre que la solution la plus simple serait de "couper" le dernier caractere de DIR (cad l'espace) ...
Mais malgré tout, j'aimerais bien comprendre pourquoi les trucs du type
echo ${DIR% *}/foo ne fonctionnent pas !
Je suis en bash.
Et comme je disais dans mon 1er post, ces commandes sont dans un Makefile (pour un code en C) donc le script est lancé avec la commande make. Je sais pas si ça a une infuence (??).
C'est assez etrange... Peut etre que la solution la plus simple serait de "couper" le dernier caractere de DIR (cad l'espace) ...
Mais malgré tout, j'aimerais bien comprendre pourquoi les trucs du type
echo ${DIR% *}/foo ne fonctionnent pas !
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
12 mai 2012 à 13:02
12 mai 2012 à 13:02
NEW = $(DIR)/foo
Oups je n'avais pas fait attention, mais la syntaxe est propre au Makefile. Les parenthèses ne font pas partie de la syntaxe du shell pour la construction de variables ;-(
Oups je n'avais pas fait attention, mais la syntaxe est propre au Makefile. Les parenthèses ne font pas partie de la syntaxe du shell pour la construction de variables ;-(
14 mai 2012 à 03:39
Merci!