2012-11-30 13 views

risposta

18

Ecco un semplice esempio per iniziare:

Per scrivere uno script di shell, effettuare ciò al prompt dei comandi:

echo -e '#!/bin/sh\n echo "hello world"' > abc.sh 

Questo scrive:

#!/bin/sh 
echo "hello world" 

Per un file chiamato abc.sh

Successivamente, si vuole impostare a eseguibile:

chmod +x abc.sh 

Ora, è possibile eseguirlo da:

./abc.sh 

E dovresti vedere:

hello world 

Sul tuo terminale.

Per eseguirlo in un nuovo terminale, si può fare:

gnome-terminal -x ./abc.sh 

o, se si tratta di xterm:

xterm -e ./abc.sh 

Ecco un list of different terminal emulators.

In alternativa, basta eseguirlo nel terminale corrente, ma lo sfondo è invece da:

./abc.sh & 
+0

funziona bene. Grazie mille per il tuo aiuto, e ho un altro dubbio: tutti i tipi di OS Linux supportano il comando gnome-terminal? – mreaevnia

+0

@RaviKumar No, non è vero in generale. Dipende in gran parte da quale ambiente desktop utilizza la distro linux: http://en.wikipedia.org/wiki/List_of_terminal_emulators Molto spesso è gnome-terminal o xterm –

+0

anch'io ho bisogno del comando che dovrebbe funzionare quando uso la macchina linux in la sessione telnet. spero che ci sarà una risposta per questo. – mreaevnia

4

Per lo gnome, prova questo.

Sostituire ls con il comando che si desidera eseguire

gnome-terminal -x sh -c "ls|less" 

Spero che questo è ciò che si vuole

2

Sono venuto qui vogliono capire come fare uno script deporre le uova un terminale ed eseguire è di per sé in esso, quindi per coloro che vogliono farlo ho capito questa soluzione:

if [ ! -t 0 ]; then # script is executed outside the terminal? 
    # execute the script inside a terminal window 
    x-terminal-emulator -e "$0" 
    # and abort running the rest of it 
    exit 0 
fi 
+0

Aspetta cosa succederebbe se lo script avesse degli argomenti chiamati su di esso? Non saranno dati alla sceneggiatura nel nuovo terminale, vero? – Kapichu

Problemi correlati