Ich habe eine Datei script.sh, und der Typ dieser Datei ist eine Shellscript-Datei. Ich möchte diese Datei als Anwendung/x-ausführbare Datei erstellen. Wie kann ich das machen?
Sie können die Datei als ausführbar markieren:
chmod +x filename.sh
Sie können sie dann wie folgt ausführen:
./filename.sh
Wenn Sie einen anderen Befehl zum Starten verwenden möchten, können Sie einen Alias hinzufügen:
gedit ~/.bashrc
Fügen Sie diesen am Ende der Datei ein:
alias <new name>='/home/<full path to script>/filename.sh'
Öffnen Sie eine neue Terminalsitzung oder geben Sie source ~/.bashrc
in Ihr Terminal ein, um es anzuwenden.
Verwenden Sie dann einfach den neuen Namen, um das Skript zu starten.
Es gibt zwei Möglichkeiten, eine Datei ausführbar zu machen:
GUI-Methode:
Gehen Sie auf die Registerkarte "Berechtigungen" und markieren Sie das Kästchen "Ausführen": [ ] Ausführen der Datei als Programm zulassen.
Terminal / Befehlsmethode:
Sie können entweder verwenden:
cd /zu/mein/erforderliches/Verzeichnis
Dann führen Sie
chmod +x dateiname.extension`
Oder führen Sie einfach aus:
chmod +x /pfad/zu/ihr/dateiname.extension
chmod
hat auch einige erweiterte Optionen:
Die Leerzeichen zeigen an, dass es aufgeteilt ist: - rwx --- ---
Der erste Satz von ---
ist Benutzer. Die zweite ist Gruppe und die letzte ist Andere (jeder andere)
r steht für Read (Lesen), w für Write (Schreiben) und x für eXecute (Ausführen).
Wenn man also allen das Lesen, aber nur der Gruppe das Ausführen und dem Benutzer das Lesen und Schreiben (aber aus irgendeinem Grund nicht das Ausführen) erlauben würde, wäre das so:
-rw- rx- r--
Aber dies würde dem Befehl hinzugefügt werden als:
chmod +rw-rx-r-- /pfad/zu/datei.extension".
Auch chmod
kann dies in Zahlen tun. Es basiert auf Binärzahlen (ich denke, da es 1,2 und 4 ist)
Es gibt also diese Zahlen:
Ausführen nach Benutzer ist 100
.
Ausführen durch Gruppe ist 010
.
Ausführen durch andere ist 001
Schreiben durch Benutzer ist 200
.
Schreiben durch Gruppe ist 020
.
Schreiben durch andere ist 002
.
Lesen durch Benutzer ist 400
.
Lesen durch Gruppe ist 040
.
Lesen durch andere ist 004
.
Dann addieren Sie diese Werte, um die gewünschte Kombination zu erhalten.
Wenn man also allen das Lesen erlaubt, aber nur der Gruppe das Ausführen und dem Benutzer das Schreiben (aber aus irgendeinem Grund nicht das Ausführen), würde das bedeuten:
400 + 040 + 004
und 010
und 200
Das macht zusammen 600 + 050 + 004 = 654.
Sie könnten dann den Befehl ausführen.
chmod +654 /pfad/zu/datei.extension" ausführen, um sie zu setzen.
Und um alle Berechtigungen zu setzen, können Sie eingeben:
chmod +rwxrwxrwx /pfad/zu/datei.erweiterung
Oder (das ist etwas einfacher zu schreiben, aber schwieriger, sich jeden einzelnen Eintrag zu merken):
chmod +777 /pfad/zu/datei.erweiterung
Schließlich können Sie tun:
chmod -777 /pfad/zu/datei.erweiterung
Um alle Berechtigungen für alle zu entfernen.
Und:
chmod +300 /pfad/zu/datei.extension
So fügen Sie Lese- und Schreibrechte für den Benutzer hinzu, ohne andere Berechtigungen (z. B. Ausführungsberechtigungen) zu beeinträchtigen.
2f dieser Website2 gibt es ein sehr nützliches kleines Raster mit Kontrollkästchen, in dem Sie die gewünschten Optionen ankreuzen können, um den Befehl zu erhalten:
Allerdings sind nicht alle möglichen Kombinationen sinnvoll; die wichtigsten, die verwendet werden, sind die folgenden:
755 - Owner
hat alle, und Group
und Other
können lesen und ausführen
700 - Besitzer
hat alles
644 - Owner
kann lesen und schreiben, und Group
und Other
können lesen
600 - Owner
kann lesen und schreiben
Und, wenn Sie nicht-triviale Benutzergruppen verwenden:
775 - Owner
kann lesen und schreiben, und Group
und Other
können lesen
770 - Owner
und Group
haben alle, und Other
kann lesen und ausführen
750 - Besitzer
hat alles, und Gruppe
kann lesen und ausführen
664 - Owner
und Group
können lesen und schreiben, und Other
kann nur lesen
660 - Besitzer
und Gruppe
können lesen und schreiben
640 - Eigentümer
kann lesen und schreiben, und Gruppe
kann lesen
777 und 666 werden selten benutzt, außer in /tmp.
Danke Ilmari Karonen für den Hinweis auf die üblichen Verwendungen!
Meine Pronomen sind Er / Er
Laufen:
chmod +x /path/to/file.sh
Um es unausführbar zu machen, führen Sie aus:
chmod -x /path/to/file.sh
Zum Beispiel habe ich eine .sh
Datei erstellt:
vi tester12.sh
Nachdem ich etwas Code im vi-Editor geschrieben habe, werde ich den vi-Editor verlassen:
:wq!
chmod +x tester12.sh
./tester12.sh