Ogni volta che apro un file .sh, lo apre in gedit al posto del terminale. Non riesco a trovare nessuna opzione simile a Clic con il tasto destro → Apri con → Altre applicazioni ... → Terminale .
Come posso aprire questo file nel terminale?
Ogni volta che apro un file .sh, lo apre in gedit al posto del terminale. Non riesco a trovare nessuna opzione simile a Clic con il tasto destro → Apri con → Altre applicazioni ... → Terminale .
Come posso aprire questo file nel terminale?
Dai il permesso di esecuzione al tuo script:
chmod +x /path/to/yourscript.sh
E per eseguire il tuo script:
/path/to/yourscript.sh
Poiché .
si riferisce alla directory corrente: se yourscript.sh
si trova nella directory corrente, puoi semplificarlo in:
./yourscript.sh
È necessario contrassegnare gli script di shell come eseguibili per eseguirli dal file manager:
Fai clic con il tasto destro sul tuo file .sh
e seleziona Proprietà :
NellaschedaAutorizzazioni,selezionaConsentil'esecuzionedelfilecomeprogramma:
Chiudi la finestra Proprietà e fai doppio clic sul file. Apparirà una finestra di dialogo che ti darà la possibilità di eseguire lo script in un terminale:
Prima di poter eseguire il file .sh, devi renderlo eseguibile:
Assicurati di fidarti dell'origine da cui hai ottenuto il file. Potrebbe essere un virus .
Questo ha un problema. Il terminale si chiuderà immediatamente e non sarai in grado di vedere l'output.
Trova dove si trova il file .sh
ls
e cd
ls
elencherà i file e le cartelle nella cartella corrente . Fai un tentativo: digita "ls" e premi Invio. cd
, seguito da uno spazio, seguito dal nome di una cartella cd ..
per passare a un livello su
Esegui il file .sh
Una volta che puoi vedere ad esempio script1.sh
con ls
esegui questo:
./ script.sh
Il terminale ha un ricco set di potenti strumenti accessibili digitando i comandi. I professionisti individuano il file .sh digitando ls
e cd
. Una volta entrato nella cartella corrente corretta, puoi eseguire lo script in questo modo:
./script1.sh
oppure puoi eseguire e reindirizzare l'output su un file:
./script1.sh > out.txt
oppure puoi filtrare l'output per le parole chiave (ad esempio "mele") e quindi reindirizzare a un file:
./script1.sh | grep apples > ./only-apples
Ci sono migliaia di cose che puoi fare su quel file semplicemente digitando alcuni comandi.
Un altro, puoi scaricare un file da Internet con un semplice comando:
wget www.google.com/images/logos/ps_logo2.png
E quindi apri il file in questo modo:
shotwell ps_logo2.png
Apri un terminale e vai alla cartella in cui si trova il file .sh
. Quindi digitare:
sh <name of file>.sh
Sui file eseguibili di Ubuntu 13.04 aperti in Nautilus ora vengono aperti in gedit per impostazione predefinita piuttosto che richiedere all'utente di eseguirli. Per abilitare il classico comportamento devi modificare le preferenze:
Nautilus → menu Modifica → Preferenze → scheda Comportamento → fai clic sul pulsante di opzione vicino a Chiedi ogni volta.
Vai alla directory in cui il file .sh
utilizza cd
. In questo esempio ho memorizzato il mio file sh
come ~/Desktop/shell_practice/test.sh
prima fai pwd
per capire dove sei, e se restituisce /home/username
(dove username
è il tuo vero nome utente), puoi eseguire
cd Desktop/shell/practice
Se ti sembra di essere da qualche altra parte, puoi usare il percorso assoluto
cd ~/Desktop/shell/practice
o
cd $HOME/Desktop/shell/practice
o anche
cd /home/$USER/Desktop/shell/practice
questi sono tutti modi per descrivere lo stesso posto. Una volta che hai raggiunto la posizione dello script, digita
ls
Se puoi vedere il file sh
nell'output, puoi usare chmod
per renderlo eseguibile. Nel mio caso, ricorda, il nome del file è test.sh
, quindi eseguirò
chmod u+x test.sh
Ora che siamo nella stessa directory dello script, dobbiamo specificare sulla shell che vogliamo eseguire il file dando la sua posizione ./
(la directory corrente seguita da un separatore di percorso, per distinguerla da il nome del file). Per eseguire il mio file, digitare:
./test.sh
Se il tuo script è stato scritto correttamente, verrà eseguito senza errori ...
2 passaggi principali.
nel terminale, usa gedit per scrivere e salvare script con estensione ".sh" sul desktop. (ma è possibile utilizzare qualsiasi editor di testo)
apri Nautilus e fai clic con il pulsante destro sul file script.sh.
sotto le proprietà, la casella di controllo "consenti l'esecuzione del file .."
nel menu Nautilus, fai clic su file, quindi su preferenze, quindi su comportamento
controlla "esegui file di testo eseguibili quando vengono aperti".
Ora, quando si fa doppio clic sul file sul desktop, dovrebbe essere eseguito.
non c'è bisogno di .
o ./
In Ubuntu 16.04 questo è come aprirlo nel Terminale:
Vai a File Manager > Edit > Preferences > Behavior
per Executable Text Files
e seleziona Ask each time
.
Il problema è che per impostazione predefinita è impostato su View Executable Files when they are opened
.
Fai clic con il tasto destro del mouse sul file .sh
e rendilo eseguibile.
Apri un terminale ( Ctrl + Alt + T ).
Trascina il file .sh
nella finestra del terminale e guarda con stupore.
Ci sono alcuni modi per farlo.
Nel terminale, accedi alla directory in cui si trova il file Bash utilizzando cd
(cambia directory).
Ex. % Co_de%
Esegui cd Downloads
Funziona anche con i file .run. C'è un esempio di questo utilizzo in questa pagina web sull'aggiornamento di Rhythmbox.
Nel terminale, vai alla directory in cui si trova il file bash.
Esegui bash <filename>.sh
In Nautilus, apri il file.
Se si posiziona lo script della shell o un altro eseguibile creato in / usr / local / bin, verrà trovato ed eseguito senza dover fornire un percorso di cartella nella riga di comando o aggiungere ./ al nome. Ad esempio, ho creato il seguente semplice script di bash in 3 righe per visualizzare gli UUID del disco:
#!/bin/bash
echo "* UUIDs must match in /etc/fstab and /boot/grub/menu.lst"
sudo blkid
Ho chiamato il file uuid e l'ho messo in / usr / local / bin. Tutto ciò di cui ho bisogno per entrare nella riga di comando è:
uuid
Per Ubuntu 18.04 , c'è una piccola modifica, poiché non si ottiene una finestra di dialogo pop-up.
Quindi quello che devi fare è:
Fai clic con il pulsante destro su File, seleziona Preferenze & gt; Seleziona la scheda Comportamento & gt; Segna l'opzione 'Chiedi cosa fare' sotto File di testo eseguibile.
Ora, quando fai doppio clic su qualsiasi file .sh, otterrai un popup, lì puoi selezionare l'opzione "esegui nel terminale" per eseguire il tuo file .sh.
Bene, anch'io ho affrontato lo stesso problema. Volevo eseguire il file .sh e aperto con Gedit su CentOS 7. Quindi ecco cosa ho fatto:
.sh
che volevo eseguire. Il problema che ho riscontrato su alcune distribuzioni è che hanno nascosto l'opzione delle preferenze in Nautilus, ma per risolverlo su Ubuntu e altre distribuzioni usando Gnome3 è lo stesso (ho appena fatto la versione Fedora di questo e postando la correzione effettiva per ricordarmi come in futuro).
Installa dconf-editor
sudo apt-get install dconf-editor
Esegui dconf-editor
usando l'account utente su cui vuoi farlo, cioè NON root
dconf-editor
Passa allo schema seguente:
org.gnome.nautilus.preferences
Cambia l'opzione predefinita per non aprire per impostazione predefinita:
Trova executable-text-activation
fai clic sulla parola display
e passa a ask
che ti darà la possibilità di modificare, visualizzare o eseguire il file andando avanti
Sono un noob in Linux e ho avuto lo stesso problema. Se tutto il resto fallisce:
Puoi anche utilizzare trucchi .
, con il suggerimento di altre risposte.
Ad esempio:
chmod +x filename.sh
, assumendo che tu sia già passato al percorso del file, quindi esegui il file con uno qualsiasi di questi comandi:
sh filename.sh
./filename.sh
. filename.sh
Leggi altre domande sui tag command-line bash