Hallo,
wie kann ich ein Bashscript schreiben,
wenn ich als bsp.: ./meinscript.sh -a (a=ausgabe ein) starte
das, dass script mir was ausgibt ala "echo"
#!/bin/bash
...code..
echo "hallo, mit schalter aktiv"
echo "hallo, ohne ausgabe schalter"
..code...
wenn ich jezt das script ohne schalter "-a" starte soll es ausgeben: "hallo, ohne ausgabe schalter"
und mit schalter "-a" sollte das script ausgeben: "hallo, mit schalter aktiv"
das ganze soll aber nicht jetzt in einer "case" Verschachtellung landen, macht bei scipts mit 100Zeilen Code wenig sinn, oder !? eher sowas wie ein bashscriptcode mit "set -x" in der Richtung wäre toll
Danke
bash ausgabe nur wenn schalter aktiv
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: bash ausgabe nur wenn schalter aktiv
Hilf mit unser Wiki zu verbessern!
Re: bash ausgabe nur wenn schalter aktiv
Ich hab's noch nicht ganz verstanden: Mit `-a' soll's die eine Zeile ausgeben und ohne die andere? Das ist doch ein klarer Fall fuer ein if-else.
Oder geht's um zuschaltbare zusaetzliche Verbose-Ausgaben, dann ist eine Hilfsfunktion gut, die ihr Argument nur ausgibt wenn das Flag gesetzt ist. So wie in der von cronoik verlinkten Seite beschrieben.
Oder willst du alle (stdout-)Ausgaben des Scripts unterdruecken, dann geht das mit diesem Befehl (der kann natuerlich um stderr erweitert werden):
Oder geht's um zuschaltbare zusaetzliche Verbose-Ausgaben, dann ist eine Hilfsfunktion gut, die ihr Argument nur ausgibt wenn das Flag gesetzt ist. So wie in der von cronoik verlinkten Seite beschrieben.
Oder willst du alle (stdout-)Ausgaben des Scripts unterdruecken, dann geht das mit diesem Befehl (der kann natuerlich um stderr erweitert werden):
Code: Alles auswählen
exec >/dev/null
Use ed once in a while!