Mailinglist Archive: opensuse-de (871 mails)
| < Previous | Next > |
Re: Bash-Code: Bitte um Verständnishilfe
- From: David Haller <dnh@xxxxxxxxxxxx>
- Date: Sat, 11 Jun 2011 00:13:39 +0200
- Message-id: <20110610221339.GA11065@grusum.endjinn.de>
Hallo,
Am Fri, 10 Jun 2011, Bernd Nachtigall schrieb:
Deswegen empfehle und verwende ich immer test explizit. Also:
if test "$RV" -eq 0 -a -n "$FILE"; then
Verwendet wird dabei normalerweise das shell-builtin "test",
dokumentiert per 'help test' (man bashbuiltins):
-z STRING True if string is empty.
-n STRING
STRING True if string is not empty
EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.
arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,
-lt, -le, -gt, or -ge.
Arithmetic binary operators return true if ARG1 is equal, not-equal,
less-than, less-than-or-equal, greater-than, or greater-than-or-equal
than ARG2
Hilft auch dabei nicht "von hinten durch die Brust ins Auge" wie:
if [ `grep bla /blubb | wc -l` -gt 0 ] ; then
was man besser per
if grep -q bla /blubb; then
erledigen sollte (ggfs. >/dev/null anhängen statt '-q' wenn's portabel
sein soll).
HTH,
-dnh
--
281: Personal Firewall
Warum installieren Sie sich ein Programm, mit dessen Ausgaben
Sie dann nichts anzufangen wissen? (T-Online-Team)
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
Am Fri, 10 Jun 2011, Bernd Nachtigall schrieb:
(...)
Bei so etwas hilft immer ein "man test", denn test heißt das Programm,(...)
welches zwischen "[" und "]" ausgeführt wird.
jepp, ich hatte da wohl schon zu lange drauf geguckt §-| ... und als dann
ein 'man if' nix ergab ... Aber jetzt ist es klar, zwischen den [] läuft
'test'.
Deswegen empfehle und verwende ich immer test explizit. Also:
if test "$RV" -eq 0 -a -n "$FILE"; then
Verwendet wird dabei normalerweise das shell-builtin "test",
dokumentiert per 'help test' (man bashbuiltins):
-z STRING True if string is empty.
-n STRING
STRING True if string is not empty
EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.
arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,
-lt, -le, -gt, or -ge.
Arithmetic binary operators return true if ARG1 is equal, not-equal,
less-than, less-than-or-equal, greater-than, or greater-than-or-equal
than ARG2
Hilft auch dabei nicht "von hinten durch die Brust ins Auge" wie:
if [ `grep bla /blubb | wc -l` -gt 0 ] ; then
was man besser per
if grep -q bla /blubb; then
erledigen sollte (ggfs. >/dev/null anhängen statt '-q' wenn's portabel
sein soll).
HTH,
-dnh
--
281: Personal Firewall
Warum installieren Sie sich ein Programm, mit dessen Ausgaben
Sie dann nichts anzufangen wissen? (T-Online-Team)
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
| < Previous | Next > |