@chaos Bitte bearbeite die Frage nicht so, dass sie besser zu deiner Antwort passt ;-).
Pilot6
@ Pilot6 Ich habe die Bedeutung nicht geändert. Oder verstehe ich etwas falsch? Ich habe es besser gemacht (title) zu finden und lesbarer zu machen. BTW : hat auch andere Bedeutungen, es ist zum Beispiel ein bash builtin Befehl. Ich wollte mich hiervon unterscheiden, da es sich offensichtlich nicht um eine Frage handelt . Was der Benutzer meint, ist der :Operator innerhalb eines Variablennamens. Es tut mir leid, ich möchte niemanden ärgern, aber Ihr Rollback macht keinen Sinn und sollte rückgängig gemacht werden, aber ich möchte hier keinen Schnittkrieg. Außerdem ist es bash- und scriptspezifisch. Warum also diese Tags entfernen?
Chaos
Sie haben eine Variable entfernt TEMPund VARdie Frage so geändert, dass andere Antworten ihre Bedeutung verloren haben.
Pilot6
@Pilot6 In meiner Antwort beziehe ich mich nicht auf eine VARVariable. Es steht Ihnen jedoch frei, dieses eine zurück zu ändern. Ich wollte die Frage allgemeiner und weniger spezifisch formulieren. Es sollte niemals andere Antworten sabotieren.
Chaos
2
@ SnakeDoc Nein, es ist zum Thema alles in Ordnung
muru
Antworten:
15
Dies ist eine variable Erweiterung und funktioniert folgendermaßen (beachten Sie, dass dies nur bashund kshspezifisch ist und in einer POSIX-Shell nicht funktioniert):
:
hat auch andere Bedeutungen, es ist zum Beispiel ein bash builtin Befehl. Ich wollte mich hiervon unterscheiden, da es sich offensichtlich nicht um eine Frage handelt . Was der Benutzer meint, ist der:
Operator innerhalb eines Variablennamens. Es tut mir leid, ich möchte niemanden ärgern, aber Ihr Rollback macht keinen Sinn und sollte rückgängig gemacht werden, aber ich möchte hier keinen Schnittkrieg. Außerdem ist es bash- und scriptspezifisch. Warum also diese Tags entfernen?TEMP
undVAR
die Frage so geändert, dass andere Antworten ihre Bedeutung verloren haben.VAR
Variable. Es steht Ihnen jedoch frei, dieses eine zurück zu ändern. Ich wollte die Frage allgemeiner und weniger spezifisch formulieren. Es sollte niemals andere Antworten sabotieren.Antworten:
Dies ist eine variable Erweiterung und funktioniert folgendermaßen (beachten Sie, dass dies nur
bash
undksh
spezifisch ist und in einer POSIX-Shell nicht funktioniert):${var:pos}
bedeutet, dass die Variablevar
vom Offset an erweitert wirdpos
.${var:pos:len}
bedeutet, dass die Variablevar
erweitert wird, beginnend mit dem Versatzpos
mit der Längelen
.quelle
zsh
zuzsh
=) Ich habe ein Diät-Skript inzsh
und 10 kg in 1 Woche verloren.zsh
Mit Sicherheit wirst du dümmer bei der Eingabe von Pfaden, wenn du sie nicht verwendest :)in bash werden die ersten 3 Zeichen einer (String-) Variablen weggeschnitten:
Schauen Sie sich 'Teilstring-Extraktion' hier an: http://www.tldp.org/LDP/abs/html/string-manipulation.html .
quelle
Dieser Operator schneidet die ersten 3 Zeichen der Variablen ab
TEMP
und weist den Rest der Variablen zuVAR
.quelle