[Gelöst] Streams im Script programmatisch umleiten?
Re: Streams im Script programmatisch umleiten?
Mir ist eine unfreundliche Antwort, die ich verwerten kann, viel lieber als eine freundliche, in der nichts drinsteht, was mich weiterbringt.
Hinzu kommt: Man muß wirklich aufpassen, was man wo hineininterpretiert. Man kann, wenn man will, die Antwort von niemand als unfreundlich interpretieren. Das funktioniert bei vielen Antworten, insbesondere, wenn sie kurz und knapp sind. Man kann sie aber auch als nicht-unfreundlich interpretieren, sondern als nett gemeinten Schubs in die richtige Richtung.
Hinzu kommt: Man muß wirklich aufpassen, was man wo hineininterpretiert. Man kann, wenn man will, die Antwort von niemand als unfreundlich interpretieren. Das funktioniert bei vielen Antworten, insbesondere, wenn sie kurz und knapp sind. Man kann sie aber auch als nicht-unfreundlich interpretieren, sondern als nett gemeinten Schubs in die richtige Richtung.
-
- Beiträge: 93
- Registriert: 09.09.2016 17:20:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: Streams im Script programmatisch umleiten?
Logisch steckt da Arbeit hinter. Was ich sagen wollte, ist: Irgendwann möchte man auch einmal Ergebnisse sehen. Im echten Leben(TM) habe ich vor vielen, vielen, vielen! Jahren mal Linux-Webserver betreut, aber damals(TM) wurde noch die Slackware auf Disketten ausgeliefert. Na ja, fast. Und seitdem hat sich so irre viel verändert, dass mein neuer Einstieg in Linux eben dies ist: ein Neueinstieg. Damals(TM) war das SysV-Init noch Stand der Dinge, heute eben systemd mit all seinen Reizen und Hustenreizen.heisenberg hat geschrieben:Naja, wissen was Du willst, das musst Du schon. Auch nur in die Richtung gehen zu wollen den LFS-Ansatz zu verfolgen und gleichzeitig keinerlei Arbeit haben wollen, dass ist ein Widerspruch in sich.
Wieso nun LFS? Nun, ich schreibe gerade von einem Debian-Laptop, und meinen vRoot habe ich auch als Debian-Server aufgesetzt. Ich bin mit Debian also, und jetzt wörtlich: "zufrieden".
Das System, das ich gerne hätte, soll jedoch so kompakt wie möglich sein. Ein monolithischer Kernel, der die nötigsten Treiber (nur ext4 Dateisystem auf USB, keine Bildschirmausgabe, keine Tastatur, keine Maus, kein Sound, kein IDE, kein SATA, dafür das GPIO-Zeug für den Raspberry), und vor allem sowohl in 32-Bit (also ähnlich wie MiniBian) als auch 64-Bit (MiniBian gibt es für ARM Architekturen noch nicht als 64-Bit-Version). Dafür alles drin, was man benötigt, um ein über WLAN kommunizierendes IoT-Gerät sicher betreiben zu können (noch so eine Baustelle zum ganz viel Lesen und Lernen und Probieren). Weiterhin möchte ich eigentlich gar keine Daemonen außer Syslog und Apache2 laufen haben. Schon gar keinen systemd mit all seinen Konsorten (Zeitgeist und Co.). Für meine Zwecke frisst das alles nur Ressourcen auf einer vergleichsweise langsamen CPU.
Eventuell muss ich je nach Anwendung sogar noch ein paar Echtzeit-Patches in die Kernel-Sourcen reinbasteln. Davon wird's auch nicht schöner, sondern, genau: mehr Arbeit.
Zuletzt geändert von MrScoville am 28.10.2016 17:11:08, insgesamt 1-mal geändert.
Man mag gar nicht glauben, wie sehr ein 4096-bittiger RSA-Schlüssel einem den Tag vermiesen kann...^^
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
-
- Beiträge: 93
- Registriert: 09.09.2016 17:20:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: Streams im Script programmatisch umleiten?
Ich habe das jetzt so gelöst:heisenberg hat geschrieben:printf gibt es in der bash. Das Umlenkungszeichen, also z. B.: ">" kannst Du nicht in eine Variable packen. Das wird dann nicht als Umlenkungszeichen interpretiert sondern als Parameter oder Teil eines Parameters.
Code: Alles auswählen
interactive=... # diverse Tests wie hier vorgeschlagen
if [ $interactive -eq 1 ]; then
export SHOW_ONLY_IF_INTERACTIVE=''
else
export SHOW_ONLY_IF_INTERACTIVE='>/dev/null'
fi
Code: Alles auswählen
echo "Wert von HUGO ist $HUGO. $SHOW_ONLY_IF_INTERACTIVE"
Code: Alles auswählen
[[ $SHOW_ONLY_IF_INTERACTIVE -eq 1 ]] && echo...
Man mag gar nicht glauben, wie sehr ein 4096-bittiger RSA-Schlüssel einem den Tag vermiesen kann...^^
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
- heisenberg
- Beiträge: 3567
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: [Gelöst] Streams im Script programmatisch umleiten?
Wie wäre es so?
Das - wie gesagt - geht nicht. Wenn, dann so:
Code: Alles auswählen
#!/bin/bash
while getopts :dD: opt
do
case $opt in
d) export DEBUG=1 ;;
D) USER_TARGET=$OPTARG;;
?) echo "Usage: $(basename $0) -d -D <logfile>"
esac
done
export LOG_TARGET="${USER_TARGET:-/tmp/default.log}"
function my_debug {
if [ "$DEBUG" == "1" ]; then
printf '%(%Y-%m-%d_%H:%M:%S)T : %s\n' "$*" >$LOG_TARGET; # Date spawns no subprocess here
}
}
# usage in code ...
my_debug "var blub=$blub"
Code: Alles auswählen
echo "Wert von HUGO ist $HUGO. $SHOW_ONLY_IF_INTERACTIVE"
Code: Alles auswählen
echo "Wert von HUGO ist $HUGO. >$SHOW_ONLY_IF_INTERACTIVE"
Zuletzt geändert von heisenberg am 28.10.2016 20:53:03, insgesamt 2-mal geändert.
Jede Rohheit hat ihren Ursprung in einer Schwäche.
-
- Beiträge: 93
- Registriert: 09.09.2016 17:20:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: [Gelöst] Streams im Script programmatisch umleiten?
Doch, geht, jedes meiner Scripte wird über bash -c aufgerufen, aus Gründen.heisenberg hat geschrieben:Das - wie gesagt - geht nicht.Code: Alles auswählen
echo "Wert von HUGO ist $HUGO. $SHOW_ONLY_IF_INTERACTIVE"
Man mag gar nicht glauben, wie sehr ein 4096-bittiger RSA-Schlüssel einem den Tag vermiesen kann...^^
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
- weedy
- Beiträge: 585
- Registriert: 02.11.2002 21:47:49
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: [Gelöst] Streams im Script programmatisch umleiten?
Noch eine Anregung:
Gruß
Code: Alles auswählen
A="> out.txt"
$ echo "hello world" $A
hello world > out.txt
$ eval 'echo "hello world" '"$A"
$ cat out.txt
hello world