2013-07-18 32 views
5

Widziałem kilka postów na ten temat, takich jak this one, ale żadne nie pomagają mi w mojej konkretnej sytuacji.Konkatenuj ciągi literowe

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

spodziewałbym to echo /var/db/gbi/scripts/awesome.csv

Zamiast dostać .csv

Wydaje się, że myśli, że ja staram się odwoływać do zmiennej o nazwie $scriptsPathawesome. Jak mogę połączyć zmienną $scriptsPath z literałem literowym "awesome.csv"?

Odpowiedz

9

Trzeba otoczyć swoją zmienną z klamrami tak:

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

Awesome, dzięki. –

+4

Chciałbym również (lub zamiast tego) użyć jawnego separatora ścieżek, aby było jaśniejsze. '$ scriptsPath/awesome.csv' jest bezpieczny, ponieważ wiele kolejnych separatorów traktowanych jest jako jedna instancja. – chepner