oiooiooioiioooiioiioiooo
Goto Top

Bash Skript: Terminator: error: Additional unexpected arguments found: dev null

Guten Tag,

Ich habe hier ein Problem wofür ich wieder mal keine Lösung finden kann.

Meine Absicht ist es mit einem Script den Terminator inklusive einen Befehl zu starten. und logischerweise in dem Ursprünglichem Terminal keine Ausgabe mehr zu haben.

#!/bin/bash
PTERMINAL="/bin/terminator --new-tab -e"  
PANALYT="watch -n10 nmap -Pn"  
NICHTANZEIGEN="&>/dev/null"  
IPADD="127.0.0.1"  

/bin/terminator --new-tab -e "watch -n10 nmap -Pn 127.0.0.1" &>/dev/null &  
sleep 5

       $PTERMINAL "$PANALYT $IPADD" $NICHTANZEIGEN &  

Sobald ich jedoch aus der Zeile 7 "&>/dev/null &" in einen String umwandle wird mir der untere Fehler ausgegeben.

$ Usage: terminator [options]

terminator: error: Additional unexpected arguments found: ['&>/dev/null']  

Kann mir jemand die Ursache dazu nennen? Wenn geht auch eine mögliche Lösung anbieten?

Viele Grüße

Ich

Content-Key: 500663

Url: https://administrator.de/contentid/500663

Printed on: April 25, 2024 at 06:04 o'clock

Mitglied: 141320
Solution 141320 Oct 02, 2019 updated at 16:58:30 (UTC)
Goto Top
Kann mir jemand die Ursache dazu nennen?
Jip, die Strings werden als Parameter übergeben und eine Umleitung ist nun mal kein Parameter des Befehls

Wenn du das ganze mit Strings zusammen bauen willst, warum auch immer ...
https://ss64.com/bash/eval.html
Member: OIOOIOOIOIIOOOIIOIIOIOOO
OIOOIOOIOIIOOOIIOIIOIOOO Oct 05, 2019 at 09:18:47 (UTC)
Goto Top
Guten Tag,

viele Dank für die Erklärung.

Wenn du das ganze mit Strings zusammen bauen willst, warum auch immer ...

Ich habe bereits öfter mal gelesen, dass man beim Schreiben soviel wie möglich mit Strings arbeiten sollte. Hier jedoch denke ich mir macht es wenig Sinn ein weiteres Programm mit einzubinden.

Ich würde mich freuen wenn mir jemand anders noch seine Meinung dazu geben könnte.

Viele Grüße

Ich
Mitglied: 141320
141320 Oct 05, 2019 updated at 12:44:31 (UTC)
Goto Top
Zitat von @OIOOIOOIOIIOOOIIOIIOIOOO:
Hier jedoch denke ich mir macht es wenig Sinn ein weiteres Programm mit einzubinden.
Das ist kein weiteres Programm! Die "eval" Funktion ist in der Bash/SH schon integriert!
Und das macht genau das was du vorhast, sämtliche Teile Parameter sowie auch die Befehlsumleitung aus einem String interpretieren und umsetzen!

Ich habe bereits öfter mal gelesen, dass man beim Schreiben soviel wie möglich mit Strings arbeiten sollte.
Nicht alles was du liest ist immer sinnvoll. Hier ergibt es z.B. wenig Sinn.
Das wäre gekapselt in einer custom function schon sinnvoller.