# set defaults
: ${ezjail_jaildir="/usr/jails"}
Aber hier stehe ich auf dem Schlauch.
: liefert immer rc 0, aber wozu ist das hier gut?
Am 18 Mar 24 22:48:22 schrob Kai Richter an Alle zum Thema
<sh : usage?>
# set defaults
: ${ezjail_jaildir="/usr/jails"}
Aber hier stehe ich auf dem Schlauch.
: liefert immer rc 0, aber wozu ist das hier gut?
Man kann damit so "auskommentieren", als waere in der Zeile ein
Kommando erfolgreich gelaufen. Wenn es wirklich nur eine sh und keine
bash ist, waere die Zeile naemlich syntaktisch falsch.
Shebang ist /bin/sh. Mal sehen...
# /bin/sh^
Shebang ist /bin/sh. Mal sehen...Wirklich?
# /bin/sh^
Hier ist naemlich kein Ausrufezeichen.
Bekomme ich auch nicht dahin:
# /bin/sh
# !/bin/sh
/bin/sh: !/bin/sh: not found
# /bin/sh
^
Hier ist naemlich kein Ausrufezeichen.
Bekomme ich auch nicht dahin:
# set defaults
: ${ezjail_jaildir="/usr/jails"}
Aber hier stehe ich auf dem Schlauch.
: liefert immer rc 0, aber wozu ist das hier gut?
Man kann damit so "auskommentieren", als waere in der Zeile ein
Kommando erfolgreich gelaufen. Wenn es wirklich nur eine sh und keine
bash ist, waere die Zeile naemlich syntaktisch falsch.
Ich stolpere gerade darueber, dass genau diese Syntax auch in rc.d Scripten benutzt wird. Diese sind ebenfalls #!/bin/sh und haben zum Beispiel:
load_rc_config $name
: ${dummy_enable:=no}
: ${dummy_msg="Nothing started."}
Auf Linux ist sh auch eine bash,
Ich stolpere gerade darueber, dass genau diese Syntax auch in rc.d
Scripten benutzt wird. Diese sind ebenfalls #!/bin/sh und
haben zum Beispiel:
load_rc_config $name
: ${dummy_enable:=no}
: ${dummy_msg="Nothing started."}
Auf Linux ist sh auch eine bash, vielleicht ist die hier nicht richtig kompatibel. Mit einer echten sh passiert in der Doppelpunkt-Zeile jedenfalls nichts, ausser dass der Returncode 0 ist.
load_rc_config $name
: ${dummy_enable:=no}
: ${dummy_msg="Nothing started."}
Auf Linux ist sh auch eine bash, vielleicht ist die hier nichtDann kommt FreeBSD mit einer unechten sh daher?
richtig kompatibel. Mit einer echten sh passiert in der
Doppelpunkt-Zeile jedenfalls nichts, ausser dass der Returncode 0
ist.
load_rc_config $name
: ${dummy_enable:=no}
: ${dummy_msg="Nothing started."}
Bei ": ${dummy_enable:=no}" wird der Wert der Variablen nur gesetzt,
wenn noch nichts anderes drinsteht und weil man die Variable an der
Stelle gar nicht benutzen will, wird mit dem Doppelpunkt das Ergebnis
der Auswertung weggeworfen und man behaelt als Nebenwirkung die
Zuweisung. Die zweite Zeile ist wohl eine simple Zuweisung, aber das
finde ich in der man-Page nicht.
Sysop: | Angel Ripoll |
---|---|
Location: | Madrid, Spain |
Users: | 11 |
Nodes: | 8 (0 / 8) |
Uptime: | 112:44:02 |
Calls: | 483 |
Files: | 14,095 |
Messages: | 66,219 |