[sage] Eigenartige Zeile im Bash-Script
Rainer Thierfelder (s+c)
r.thierfelder at science-computing.de
Thu Oct 30 09:56:56 CET 2014
Moin!
On Thu Oct 30, 2014 at 09:30:24AM +0100, Hartmut Goebel wrote:
> Schönen guten Morgen,
>
> in einem bash-Script bin ich auf Zeilen dieser Art gestoßen. Ich habe
> versucht, das in der man-page zu finden, aber ohne Erfolg. Kennt jmd
> eine Beschreibung? Ist das bash-spezifisch oder auch in anderen Shells
> möglich?
>
> : ${IP=127.0.0.1} # kein Doppelpunkt vor dem =
>
> (Der Doppelpunkt am Anfang der Zeile ist klar, der Rest nicht mehr).
>
> Die Wirkung ist, dass die Variable "IP" nur gesetzt wird, wenn sich
> nicht existiert. Damit unterscheidet es sich von
>
> ${IP:=127.0.0.1} # mit Doppelpunkt vor dem =
>
> das die Variable auch setzt, wenn sie existiert, aber leer ist.
>
ABS to the rescue:
http://www.tldp.org/LDP/abs/html/parameter-substitution.html#PARAMSUBREF
In meiner Manpage steht dazu folgendes:
"When not performing substring expansion, using the forms documented below,
bash tests for a parameter that is unset or null. Omitting the colon
results in a test only for a parameter that is unset."
(EXPANSION -> Parameter Expansion, im Text oberhalb der Beispiele mit den
Doppelpunkten)
Ob das jetzt Bash-spezifisch ist oder auch in anderen Shells gilt, kann ich
jetzt nicht sagen.
Gruß,
Rainer
--
Rainer Thierfelder science + computing ag
IT-Services Tuebingen www.science-computing.de
GnuPG-KeyID: 9D244B55
--
Vorstandsvorsitzender/Chairman of the board of management:
Gerd-Lothar Leonhart
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Michael Heinrichs, Dr. Arno Steitz
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Philippe Miltin
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196
More information about the SAGE
mailing list