Esiste un modo per creare un file che esegua un comando di terminale quando si fa clic su di esso?

15

C'è un modo per creare un file che esegua un comando terminale quando lo fai clic? Simile ad un'estensione .bat in windows?

    
posta Chaos 22.02.2012 - 21:00

3 risposte

33

Apri l'editor di testo e digita la seguente riga: #! /bin/bash . Lascia una riga vuota e inizia a digitare i tuoi comandi. Salva il file, l'estensione non ha importanza. Vai al file nel file manager, fai clic con il pulsante destro del mouse, apri la finestra di dialogo delle proprietà, vai alla scheda autorizzazioni nella finestra di dialogo, seleziona "Consenti l'esecuzione di questo file" e fai clic sul pulsante di chiusura. Ora puoi fare doppio clic sul file e scegliere eseguirlo in una finestra di terminale .

    
risposta data RobinJ 22.02.2012 - 21:06
8

In Linux quelli sono chiamati script di script di shell più accurati.

A Linux non importa quale estensione del file, guarderà le autorizzazioni del file per trovare se il file è impostato come eseguibile e lo eseguirà in caso affermativo.

Puoi creare uno script con qualsiasi editor di testo preferito, aprirne uno e iniziare lo scripting, puoi usare qualsiasi interprete di shell che desideri siano i normali usati bash e sh .

Normalmente si avviano gli script dichiarando quale interprete di comandi si desidera utilizzare, #!/bin/bash per bash e #!/bin/sh per sh. Dopo averlo fatto, puoi iniziare a digitare i comandi nelle linee di script proprio come fai su Windows con script batch.

Dopo aver effettuato le modifiche, salva il file e rendilo eseguibile.

Puoi aprire un terminale e digitare chmod 755 foo (dove foo è il nome dello script) o fare clic con il tasto destro sul file appena creato e nella scheda permessi fare clic su Rendere il file eseguibile .

Quando hai finito puoi fare doppio clic sul file e il tuo gestore di file dovrebbe provare a eseguirlo o chiedere se vuoi eseguirlo. In alternativa puoi anche invocare il tuo script in un terminale che cambia directory in cui si trova lo script e invocarlo con ./foo .

Un buon inizio per imparare lo scripting della shell Linux è LinuxCommand.org , ti insegnano ciò di cui hai bisogno, come farlo e avere un sacco di buoni esempi sugli script che puoi dare un'occhiata.

    
risposta data Bruno Pereira 22.02.2012 - 21:17
1

Se si tratta di un semplice comando a una riga, puoi creare un file .desktop , ad esempio per un comando di copia semplice come (nella sua forma più semplice):

[Desktop Entry]
Name=Simple Copy
Exec=/bin/bash -c 'cp <source> <destination>'
Type=Application

Inserisci il comando tra virgolette, salva il file con un'estensione .desktop , rendilo eseguibile ed eseguilo facendo doppio clic.

Puoi rendere un file .desktop più complicato, aggiungere opzioni, parole chiave, impostare un'icona, ecc.
Vedi questo link .

    
risposta data Jacob Vlijm 06.12.2014 - 12:19

Leggi altre domande sui tag