2013-07-18 3 views
5

Ho visto un paio di post per questo, come this one, ma nessuno mi sta aiutando nella mia particolare situazione.Concatenare stringhe letterali

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

mi si aspetterebbe che questo eco /var/db/gbi/scripts/awesome.csv

Invece ottengo .csv

sembra che pensa che io sto cercando di fare riferimento a una variabile denominata $scriptsPathawesome. Come posso concatenare la variabile $scriptsPath al valore letterale stringa "awesome.csv"?

risposta

9

È necessario circondare la variabile con parentesi graffe in questo modo:

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

impressionante, grazie. –

+4

Vorrei anche (o preferirei) utilizzare un separatore di percorso esplicito, per renderlo più chiaro. '$ scriptsPath/awesome.csv' è sicuro, poiché più separatori consecutivi sono trattati come una singola istanza. – chepner