J'ai un fichier script.sh et le type de ce fichier est un fichier shellscript. Je veux faire de ce fichier un fichier d'application / x-exécutable. Comment puis-je le faire?
J'ai un fichier script.sh et le type de ce fichier est un fichier shellscript. Je veux faire de ce fichier un fichier d'application / x-exécutable. Comment puis-je le faire?
Eh bien, vous pouvez le faire en faisant comme
chmod +x filename.sh
donc il s'exécutera quand vous l'appellerez
./filename.sh
et vous pouvez également accéder à ce script en tant qu’application.
ouvrez votre terminal et tapez comme suit dans votre répertoire personnel.
gedit .bashrc
puis dans le fichier ouvert, tapez cette dernière ligne.
alias <Name_with which you wanna call it >='./filename.sh'
enregistrer et fermer.
Ensuite, tapez ceci dans votre terminal source ~/.bashrc
pour appliquer les modifications que vous avez apportées.
puis tapez simplement le nom que vous y avez donné après l'alias pour accéder à votre script.
assurez-vous que vous avez placé dans le répertoire personnel.
else
alias <Name_with which you wanna call it >='./<path to your script >.sh'
J'espère que ça aide.
Il existe deux manières de rendre un fichier exécutable:
Méthode GUI
Allez dans l'onglet des permissions, puis cochez la case 'Execute: [] Autorisez l'exécution du fichier en tant que programme.
Méthode de terminal / commande:
Vous pouvez soit utiliser:
cd /to/my/required/directory
Puis lancez
chmod +x filename.extension
Ou lancez simplement:
chmod +x /path/to/your/filename.extension
chmod
propose également des options plus avancées:
Les espaces doivent indiquer qu’il est divisé: - rwx --- ---
Le premier ensemble de ---
est User. Le second est Group et le dernier est Autre (n'importe qui)
r signifie Read, w pour Write et x pour eXecute.
Donc, pour permettre à tout le monde de le lire, mais seul le groupe à exécuter et l'utilisateur à le lire et à l'écrire (mais pour une raison inconnue) serait:
-rw- rx- r--
Mais ceci serait ajouté à la commande en tant que:
chmod +rw-rx-r-- /path/to/file.extension
chmod
peut également le faire en chiffres. Il est basé sur le binaire (je pense, car il est 1,2 et 4)
Il y a donc ces chiffres:
Exécuter par utilisateur est 100
.
Execute by group est 010
.
Execute by other est 001
L’écriture par utilisateur est 200
.
Écrire par groupe est 020
.
Écrire par d'autres est 002
.
Read by user est 400
.
Lecture par groupe est 040
.
Read by other est 004
.
Ensuite, vous les ajoutez ensemble pour obtenir la combinaison souhaitée.
Donc, pour permettre à tout le monde de le lire, mais seul le groupe à exécuter et l'utilisateur à l'écrire (mais pour une raison quelconque ne s'exécutent pas) serait:
400 + 040 + 004
et 010
et 200
Cela s’élève à 600 + 050 + 004 = 654.
Vous pouvez alors exécuter la commande.
chmod +654 /path/to/file.extension
pour le définir.
Et pour définir toutes les autorisations que vous pouvez taper:
chmod +rwxrwxrwx /path/to/file.extension
Ou (c'est un peu plus facile à écrire, mais plus difficile à mémoriser):
chmod +777 /path/to/file.extension
Enfin, vous pouvez faire:
chmod -777 /path/to/file.extension
Pour retirer toutes les autorisations à tout le monde.
Et:
chmod +300 /path/to/file.extension
Pour ajouter en lecture et en écriture à l'utilisateur, sans affecter les autres autorisations (par exemple, les autorisations d'exécution).
Ce site Web contient une petite case à cocher très utile, dans laquelle vous pouvez cocher les options souhaitées et vous donner la commande:
Cependant, toutes les combinaisons possibles ne sont pas judicieuses à utiliser; les principaux utilisés sont les suivants:
755 - Owner
a tout et Group
et Other
peuvent lire et exécuter
700 - Owner
a tout
644 - Owner
peut lire et écrire, et Group
et Other
peuvent lire
600 - Owner
peut lire et écrire
Et si vous utilisez des groupes d’utilisateurs non triviaux:
775 - Owner
peut lire et écrire, et Group
et Other
peuvent lire
770 - Owner
et Group
ont tous et Other
peuvent lire et exécuter
750 - Owner
a tout et Group
peut lire et exécuter
664 - Owner
et Group
peuvent lire et écrire, et Other
peut simplement lire
660 - Owner
et Group
peuvent lire et écrire
640 - Owner
peut lire et écrire, et Group
peut lire
777 et 666 sont rarement utilisés, sauf dans / tmp.
Merci Ilmari Karonen pour signaler ceux couramment utilisés
Exécuter:
chmod +x /path/to/file.sh
Pour le rendre non exécutable, exécutez:
chmod -x /path/to/file.sh
Par exemple, j'ai créé le fichier .sh
:
vi tester12.sh
Après avoir écrit du code dans l'éditeur vi, je quitterai l'éditeur vi:
:wq!
chmod +x tester12.sh
./tester12.sh
Lire d'autres questions sur les étiquettes command-line executable