Frage zu Shell-Skript [Gelöst]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Frage zu Shell-Skript [Gelöst]

Beitrag von jmar83 » 04.10.2019 10:01:13

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.
Zuletzt geändert von jmar83 am 09.12.2019 16:31:40, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Frage zu Shell-Skript

Beitrag von jmar83 » 04.10.2019 10:07:11

Ausgabe:
+ =shuf -i 0-9 -n 1
./rmacgen.sh: Zeile 3: =shuf: Kommando nicht gefunden.
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Frage zu Shell-Skript

Beitrag von jmar83 » 04.10.2019 10:07:57

Aber wenn ich "shuf" in der Konsole eingebe, dann geht's ja... also nix von wegen "Kommando nicht gefunden." (??)
Freundliche Grüsse, Jan

Benutzeravatar
MegaV0lt
Beiträge: 163
Registriert: 21.11.2011 11:16:07
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Frage zu Shell-Skript

Beitrag von MegaV0lt » 04.10.2019 10:15:30

Gebe es mit Pfad ein
darkwing@darkwing-Lenovo-V110-15ISK ~ $ whereis shuf
shuf: /usr/bin/shuf /usr/share/man/man1/shuf.1.gz
Beispiel

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.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Frage zu Shell-Skript

Beitrag von jmar83 » 04.10.2019 10:38:21

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)
Freundliche Grüsse, Jan

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Frage zu Shell-Skript

Beitrag von smutbert » 04.10.2019 10:59:10

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.

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Frage zu Shell-Skript [Erledigt]

Beitrag von jmar83 » 04.10.2019 11:38:20

Vielen Dank!! :-)
Freundliche Grüsse, Jan

Benutzeravatar
TRex
Moderator
Beiträge: 8074
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Frage zu Shell-Skript

Beitrag von TRex » 04.10.2019 14:31:18

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 nichtDon't break debian!Wie man widerspricht

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Frage zu Shell-Skript

Beitrag von eggy » 04.10.2019 16:33:57

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

Benutzeravatar
TRex
Moderator
Beiträge: 8074
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Frage zu Shell-Skript

Beitrag von TRex » 04.10.2019 17:41:28

Immerhin hat keiner systemD beschuldigt ;)
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Frage zu Shell-Skript

Beitrag von jmar83 » 04.10.2019 18:35:17

Vielen Dank, aber es tut mir leid, aber daraus werde ich jetzt nicht wirklich schlau...
Der aufmerksame Leser hat gemerkt, dass "=shuf" nicht gefunden wird, nicht "shuf". Da ist oder war ein Fehler im Script.
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?

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

Benutzeravatar
TRex
Moderator
Beiträge: 8074
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Frage zu Shell-Skript

Beitrag von TRex » 04.10.2019 18:41:38

Doch, das mit den abwesenden Leerzeichen ist schon richtig. Nur das $ nicht.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Frage zu Shell-Skript

Beitrag von jmar83 » 04.10.2019 18:48:59

Danke!!
Freundliche Grüsse, Jan

Antworten