File batch equivalente in Linux


3

Ho alcuni comandi di base che devo eseguire su una macchina virtuale Red Hat Linux 5 con GNOME per avviare un paio di server.

Esempio

cd /home/user/scripts  
sh runTHISthing.sh pub  
cd /home/user/logs  
tailf pub.log  

Non una folle quantità di codice ma a volte riavvio VM più volte al giorno. In Windows, probabilmente vorrei semplicemente creare un file batch e inserirlo sul mio desktop. Quindi è solo una questione di doppio clic e il gioco è fatto.

Esiste un modo per fare lo stesso in Linux? Ho provato a creare un launcher che esegue semplicemente il file emtpy nel terminale senza risultati.


Hai anche ottenuto il tag giusto per questo. Si chiama script di shell. Cosa ti manca esattamente?
Mat

@Mat Sto cercando una funzionalità di doppio clic. Voglio che il file si trovi sul mio desktop e faccio semplicemente doppio clic, apre il terminale ed esegue lo script. So che lo script di una shell è quello che sto cercando, ma probabilmente sono nell'ora 2 della mia esperienza complessiva di Linux e in 30 minuti nello specifico di Red Hat. Ho fatto la ricerca, semplicemente non funziona come voglio.
Vian Esterhuizen,

Risposte:


6

In UNIX, un 'file batch' è noto come script di shell. Un tipico script di shell BASH inizierà con una linea magica che indica al sistema operativo con quale shell eseguire lo script, quindi il tuo esempio finirebbe:

 #!/bin/bash

 cd /home/user/scripts   
 sh runTHISthing.sh pub   
 cd /home/user/logs  
 tailf pub.log

NOTA: dopo aver creato il file, è necessario contrassegnarlo come eseguibile, affinché il sistema operativo possa provare a eseguirlo:

chmod +x myscript

Siamo spiacenti, l'ultima parte sulla marcatura eseguibile. Come potrei farlo?
Vian Esterhuizen,

In una finestra del terminale, emetti il ​​comando "chmod + x scriptfilename", con il percorso corretto per lo script.
Don Simon,
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.