Frage zu Shell-Skript [Gelöst]
Frage zu Shell-Skript [Gelöst]
Hallo zusammen
Weder
$n=shuf -i 0-9 -n 1;
noch
$n=$(shuf -i 0-9 -n 1);
scheint zu funktionieren. Was muss ich in diesem Fall tun? Und vor allem: Was ist so "besonders" an diesem "shuf"-Befehl, wieso kann ich diesen nicht einfach so einsetzen im Shell-Skript wie alle anderen Befehle welche was zurückgeben?
Danke für die Feedbacks.
Weder
$n=shuf -i 0-9 -n 1;
noch
$n=$(shuf -i 0-9 -n 1);
scheint zu funktionieren. Was muss ich in diesem Fall tun? Und vor allem: Was ist so "besonders" an diesem "shuf"-Befehl, wieso kann ich diesen nicht einfach so einsetzen im Shell-Skript wie alle anderen Befehle welche was zurückgeben?
Danke für die Feedbacks.
Zuletzt geändert von jmar83 am 09.12.2019 16:31:40, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan
Re: Frage zu Shell-Skript
Ausgabe:
+ =shuf -i 0-9 -n 1
./rmacgen.sh: Zeile 3: =shuf: Kommando nicht gefunden.
Freundliche Grüsse, Jan
Re: Frage zu Shell-Skript
Aber wenn ich "shuf" in der Konsole eingebe, dann geht's ja... also nix von wegen "Kommando nicht gefunden." (??)
Freundliche Grüsse, Jan
- MegaV0lt
- Beiträge: 173
- Registriert: 21.11.2011 11:16:07
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Frage zu Shell-Skript
Gebe es mit Pfad ein
Beispieldarkwing@darkwing-Lenovo-V110-15ISK ~ $ whereis shuf
shuf: /usr/bin/shuf /usr/share/man/man1/shuf.1.gz
Code: Alles auswählen
n=$(/usr/bin/shuf -i 0-9 -n 1)
"Das Internet? Gibt's diesen Blödsinn immer noch?"
[Homer Simpson], Sicherheitsinspektor im Kernkraftwerk Springfield.
[Homer Simpson], Sicherheitsinspektor im Kernkraftwerk Springfield.
Re: Frage zu Shell-Skript
Vielen Dank!
Dann müssen sämtliche Befehle, welche als executable-Datei auf dem Dateisystem vorliegen (was z.B. bei "ls" nicht der Fall ist), per absolutem Pfad aufgeführt werden? (Analog zu den systemd-Unit-Dateien oder Cronjobs/Crontab)
Dann müssen sämtliche Befehle, welche als executable-Datei auf dem Dateisystem vorliegen (was z.B. bei "ls" nicht der Fall ist), per absolutem Pfad aufgeführt werden? (Analog zu den systemd-Unit-Dateien oder Cronjobs/Crontab)
Freundliche Grüsse, Jan
Re: Frage zu Shell-Skript
Das hängt ganz davon ab wie du das Skript startest.
In sehr vielen Fällen (ich glaube sogar auch bei systemd-units) ist PATH so gesetzt, sodass das eigentlich nicht notwendig ist, bei systemd-units will man halt auf Nummer sicher gehen bzw. hätte auch andere Möglichkeiten die Umgebungsvariablen zu setzen.
In sehr vielen Fällen (ich glaube sogar auch bei systemd-units) ist PATH so gesetzt, sodass das eigentlich nicht notwendig ist, bei systemd-units will man halt auf Nummer sicher gehen bzw. hätte auch andere Möglichkeiten die Umgebungsvariablen zu setzen.
Re: Frage zu Shell-Skript
Der aufmerksame Leser hat gemerkt, dass "=shuf" nicht gefunden wird, nicht "shuf". Da ist oder war ein Fehler im Script.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: Frage zu Shell-Skript
und dass ganz oben "$n=..." steht, was wahrscheinlich zum Fehler geführt haben dürfte.
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-5.html
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-5.html
Re: Frage zu Shell-Skript
Immerhin hat keiner systemD beschuldigt
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: Frage zu Shell-Skript
Vielen Dank, aber es tut mir leid, aber daraus werde ich jetzt nicht wirklich schlau...
Oh ja, das '$' natürlich nur beim Auslesen!!
Es dürfen sich doch bei Shell-Skripts keine Leerzeichen links und/oder rechts vom gleich-Zeichen befinden? Muss man dann, falls man eine ausführbare Datei ausführt (oder Befehle generell?), immer $(...) verwenden?Der aufmerksame Leser hat gemerkt, dass "=shuf" nicht gefunden wird, nicht "shuf". Da ist oder war ein Fehler im Script.
und dass ganz oben "$n=..." steht, was wahrscheinlich zum Fehler geführt haben dürfte.
Oh ja, das '$' natürlich nur beim Auslesen!!
Freundliche Grüsse, Jan
Re: Frage zu Shell-Skript
Doch, das mit den abwesenden Leerzeichen ist schon richtig. Nur das $ nicht.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht