J'ai un fichier script.sh et le type de ce fichier est le 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 le 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 ci-dessous à partir de 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'
sauver et fermer .
Puis tapez ceci dans votre terminal source ~/.bashrc
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 d'accueil.
autre
alias <Name_with which you wanna call it >='./<path to your script >.sh'
J'espère que cela pourra aider.
Il existe deux manières de rendre un fichier exécutable:
Méthode GUI:
Allez dans l'onglet permissions, cochez la case `Execute: [] Autorisez l'exécution du fichier en tant que programme.
Méthode Terminal / Commande:
Vous pouvez soit utiliser:
cd /to/my/required/directory
Puis courir
chmod +x filename.extension
Ou lancez simplement:
chmod +x /path/to/your/filename.extension
chmod
a également des options plus avancées:
Les espaces doivent montrer qu'il est divisé: - rwx --- ---
La première série de ---
est l'utilisateur. 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 quelconque ne s'exécutent pas) serait:
-rw- rx- r--
Mais cela serait ajouté à la commande en tant que:
chmod +rw-rx-r-- /path/to/file.extension
chmod
peut également faire cela 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 l'utilisateur est 100
.
Exécuter par groupe est 010
.
Execute by other is 001
Ecrire par utilisateur est 200
.
Ecrire par groupe est 020
.
Ecrire par d'autres est 002
.
Lire par utilisateur est 400
.
Lire par groupe est 040
.
Lire par d'autres 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 correspond à 600 + 050 + 004 = 654.
Vous pouvez alors exécuter la commande.
chmod +654 /path/to/file.extension
pour le régler.
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 de se souvenir de chacun):
chmod +777 /path/to/file.extension
Enfin, vous pouvez faire:
chmod -777 /path/to/file.extension
Pour prendre toutes les autorisations loin de 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 Une petite case à cocher de grille très utile vous permet de cocher les options souhaitées et vous donne la commande suivante:
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
peut lire et exécuter
700 - Owner
a tout
644 - Owner
peut lire et écrire, et Group
et Other
Peux 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
Peux lire
770 - Owner
et Group
avoir tout et Other
peut lire et exécuter
750 - Owner
a tout et Group
peut lire et exécuter
664 - Owner
et Group
peut lire et écrire, et Other
peut juste lire
660 - Owner
et Group
peut lire et écrire
640 - Owner
peut lire et écrire, et Group
Peux lire
777 et 666 sont rarement utilisés, sauf dans / tmp.
Merci Ilmari Karonen pour faire remarquer ceux d'usage courant!
Courir:
chmod +x /path/to/file.sh
Pour le rendre non exécutable, lancez:
chmod -x /path/to/file.sh
Par exemple j'ai créé .sh
fichier:
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