2013-07-18 4 views
5

J'ai vu quelques messages à ce sujet, comme this one, mais aucun ne m'aide dans ma situation particulière.Concaténer les littéraux de chaîne

scriptsPath="/var/db/gbi/scripts/" 
echo "$scriptsPathawesome.csv"; 

je serais attendre à ce que l'écho /var/db/gbi/scripts/awesome.csv

Au lieu de cela je reçois .csv

On dirait qu'il pense que je suis en train de faire référence à une variable nommée $scriptsPathawesome. Comment puis-je concaténer la variable $scriptsPath au littéral de chaîne "awesome.csv"?

Répondre

9

Vous devez entourer votre variable avec des accolades comme ceci:

scriptsPath="/var/db/gbi/scripts/" 
echo "${scriptsPath}awesome.csv"; 
+0

Impressionnant, merci. –

+4

Je voudrais aussi (ou plutôt) utiliser un séparateur de chemin explicite, pour le rendre plus clair. '$ scriptsPath/awesome.csv' est sûr, car plusieurs séparateurs consécutifs sont traités comme une instance unique. – chepner

Questions connexes