bash ausgabe nur wenn schalter aktiv

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ren22

bash ausgabe nur wenn schalter aktiv

Beitrag von ren22 » 20.08.2017 15:58:38

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

cronoik
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

Beitrag von cronoik » 20.08.2017 16:18:01

Hilf mit unser Wiki zu verbessern!

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: bash ausgabe nur wenn schalter aktiv

Beitrag von Meillo » 20.08.2017 18:16:11

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):

Code: Alles auswählen

exec >/dev/null
Use ed once in a while!

Antworten