Apri un nuovo terminale dedicato mentre esegui un comando in linux


1

Voglio aprire un nuovo terminale quando inserisco un comando definito dall'utente in linux. Mezzi per un esempio, quando scrivo un comando tcpdump nel terminale e questo aprirà un nuovo terminale di sessione per il tcpdump.

Quindi nel terminale appena aperto, per catturare il pacchetto, devo scrivere solo -i eth0 e non tcpdump -i eth0. Il nuovo terminale prenderà internamente il comando tcpdump.

Quindi saranno possibili?


Come ti connetti a una sessione Linux in questo momento? Ad esempio, usi una GUI con xterm o ti connetti usando un emulatore su Windows?
cdarke

Risposte:


4

Presumo che tu voglia eseguire il comando in una nuova finestra di terminale sul tuo desktop (Linux). La maggior parte degli emulatori di terminali sembra avere un'opzione -e per l'esecuzione di comandi, in modo da poter fare qualcosa del genere:

urxvt -e $SHELL -c 'read -p "Options: " OPTS; tcpdump $OPTS' &

Sostituire urxvt con aterm, xterm, Konsole o qualsiasi altro emulatore di terminale che stai utilizzando.

Se si desidera che la finestra rimanga aperta al termine del comando, è necessario eseguire ulteriori passaggi ( urxvt ha un'opzione -hold per questo, ma altri emulatori di terminale non lo fanno).


0

Si potrebbe ottenere un'interfaccia dell'interprete piacevole usando rlwrap (che probabilmente puoi installare tramite il gestore di pacchetti della tua distribuzione).

while rlwrap -o -P "tcpdump " -C tcpdump sh; do :; done

Questo ti darà una shell dove la riga di comando ha già "tcpdump" all'inizio. Mantiene anche una cronologia dei comandi che hai eseguito in precedenza utilizzando il comando.

Correre exit 1 per uscire dalla shell.

È possibile utilizzare il metodo di Ansgar Wiechers per eseguire il comando in una nuova finestra di terminale.


0

Potresti provare a terminare, quindi dividere windows per comando o modificare qualche script che ho scritto su ssh per server, per dividere per comando avrebbe bisogno di un po 'di lavoro perché ciò accadesse, ma tutto il possibile https://github.com/vahidhedayati/termssh

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.