Esegui il file eseguibile sul terminale


9

Sono nuovo di Ubuntu e attualmente su di esso a causa del compito. Vorrei porre alcune domande:

  1. Come posso eseguire un nuovo comando per eseguire uno script di shell? Ad esempio, quando si digita passwdsul terminale, viene eseguito il file eseguibile /usr/bin/passwd. Come faccio a renderlo uguale al mio file?

  2. Come faccio a modificare il mio script shell in un file eseguibile come il passwd?

Risposte:


13

Il tuo script dovrebbe apparire come:

#!/bin/bash

passwd

Salvalo in un file, diciamo password.sho semplice password, quindi rendilo eseguibile usando i comandi successivi nel terminale:

cd /path/to/password.sh  #or cd /path/to/password
chmod +x password.sh     #or chmod +x password

Per eseguirlo dal terminale, basta usare il seguente comando:

./password.sh            #or ./password

o

/path/to/password.sh     #or /path/to/password

Per eseguirlo solo usando:

password.sh              #or password

è necessario aggiungere il percorso dello script al PERCORSO. Vedi Come aggiungere una directory al PERCORSO? in questo senso.


Voglio eseguirlo senza la parte "./". È possibile?
Sconosciuto il

Mi dispiace, ho dimenticato un altro criterio che è che voglio eseguire anche senza ".sh". Ciò significa che voglio eseguire il mio file con solo il nome del file sul terminale. Ad esempio: passwd
Unknown

@Guest Ok, salva lo script con il nome password. Non ci sono problemi facendo questo.
Radu Rădeanu,

Freddo. Lo proverò presto. Grazie mille per il vostro aiuto.
Sconosciuto il

1
@geirha Wake up! Un file con .shestensione è principalmente associato a uno script progettato per essere eseguito al prompt dei comandi di UNIX / LINUX e terminato. Non ci sono problemi se altri tipi di file hanno la stessa estensione o se non si desidera utilizzare un'estensione per questo tipo di file.
Radu Rădeanu,
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.