[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