wie zum Anhängen eines Wertes an eine variable im shell-script
Bin ich immer eine variable mit dem Wert aus Eigenschaften, und ich bin in der Lage, Zugang in sh Datei.
aber ich bin mir nicht Anhängen, ein anderer Wert an diese variable.
Freundlich darauf hin.
$ echo "Build ID from properties:"$BUILD_ID
Build ID from properties: abcd_v6_c1
$ echo " num----------------" build_${BUILD_ID}.zip
.zip---------------- build_abcd_v6_c1
Freundlich darauf hin, wie append .zip Wert.
- Sie haben ein spezielles char am Ende Ihrer
$BUILD_ID
variable, die unerwünschte Auswirkungen auf die Ausgabe (vielleicht ein^M
oder^A
). Sie können prüfen, mitcat -A <<< "$BUILD_ID"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es scheint, Sie haben ein Windows carriage return in Ihrem
$BUILD_ID
variable.Zu überprüfen, versuchen mit diesem Befehl (der Wagenrücklauf wird sichtbar als eine
^M
) :In Ihrem terminal,können Sie versuchen, diese (die
^M
char, verwenden Sie STRG + V + M) :Sollte das Ergebnis sein :
Können Sie reinigen Sie Ihre Variablen mit einem Bash-parameter-substitution :
${BUILD_ID/%$'\r'/}
ist auch gültig, als Sie ersetzt die kürzeste Zeichenfolge `$'\r' aus zurück mit nichts. Aber es ist einfacher als Sie vorschlagen, um nur verkürzen der saite.${BUILD_ID%/$'\r'/}
(Umsetzung der ersten/
und die%
, das ist, warum ich dachte, es war falsch).cat -A
ist ein GNU - Erweiterung;cat -et
arbeiten würde, mit BSD/OSXcat
zu;sed -n l
ist eine POSIX-konforme alternative).Sagen wir, wir haben eine variable
var1=value
.Wenn ich wollen, fügen Sie einige text an den Anfang der variable, die ich tun kann:
Wenn ich will hinzufügen von text zu Ende, dann heißt es:
Diese folgenden Weg für mich funktioniert. Meine .sh-Datei hat folgenden Inhalt:
Können Sie einfach
assignment(=)
operator, um text anzufügen.Danke an alle,
In der Lage, das Problem zu beheben.. es ist da ^M Dank @Kenavoz jetzt bin ich immer der richtigen ID und in der Lage, fahren Sie mit dem o/p.
Ändern:BUILD_ID=${ID%$'\r'}
Dank,
Sampath Eine