Jeg har en script.sh-fil, og filtypen er shellscript-fil. Jeg ønsker å gjøre denne filen til en applikasjon/x-kjørbar fil. Hvordan kan jeg gjøre det?
Du kan markere filen som kjørbar:
chmod +x filename.sh
Deretter kan du kjøre den slik:
./filename.sh
Hvis du vil bruke en annen kommando til å starte den, kan du legge til et alias:
gedit ~/.bashrc
Legg til dette på slutten av filen:
alias <new name>='/home/<full path to script>/filename.sh'
Åpne en ny terminaløkt eller skriv source ~/.bashrc
i terminalen for å bruke den.
Deretter er det bare å bruke det nye navnet til å starte skriptet.
Det finnes to måter å gjøre en fil kjørbar på:
GUI-metoden:
Gå til tillatelsesfanen, og kryss av i boksen `Kjør: [ ] Tillat kjøring av fil som program.
.
Terminal / kommandometode:
Du kan enten bruke:
cd /to/my/required/directory
.
Deretter kjører du
chmod +x filnavn.extension
.
Eller bare kjør:
chmod +x /sti/til/ditt/filnavn.extension
.
chmod
har også noen mer avanserte alternativer:
Mellomrommene er for å vise at den er delt opp: - rwx --- --- ---
Det første settet med ---
er User. Det andre er Group og det siste er Other (alle andre).
r står for Read, w for Write og x for eXecute.
Så for å tillate alle å lese den, men bare Gruppe å utføre og Bruker å lese og skrive den (men av en eller annen grunn ikke utføre), ville det være:
-rw- rx- r--
Men dette legges til i kommandoen som:
chmod +rw-rx-r-- /sti/til/fil.extension
.
chmod
kan også gjøre dette i tall. Den er basert på binær (tror jeg, siden det er 1,2 og 4).
Så det er disse tallene:
Utførelse etter bruker er 100
.
Utførelse av gruppe er 010
.
Utførelse av andre er 001
Skriving av bruker er 200
.
Skriving av gruppe er 020
.
Skriving av andre er 002
.
Lesing av bruker er 400
.
Lesing av gruppe er 040
.
Lesing av andre er 004
.
Deretter legger du disse sammen for å få den ønskede kombinasjonen.
Så for å tillate at alle kan lese den, men bare gruppe kan utføre den og bruker kan skrive den (men av en eller annen grunn ikke utføre den), blir det:
400 + 040 + 004
og 010
og 200
.
Det gir 600 + 050 + 004 = 654.
Deretter kan du kjøre kommandoen.
chmod +654 /path/to/file.extension
for å angi det.
Og for å angi alle tillatelser kan du skrive:
chmod +rwxrwxrwx /sti/til/fil.utvidelse
.
Eller (dette er litt enklere å skrive, men vanskeligere å huske hver enkelt):
chmod +777 /sti/til/fil.utvidelse
.
Til slutt kan du gjøre følgende:
chmod -777 /sti/til/fil.utvidelse
.
for å fjerne alle tillatelser fra alle.
Og:
chmod +300 /sti/til/fil.utvidelse
.
For å legge til lese- og skrivetillatelser for brukeren, uten å påvirke andre tillatelser (f.eks. kjøretillatelser).
Dette nettstedet har en veldig nyttig liten avkrysningsrute, der du kan krysse av for de alternativene du ønsker, og du får kommandoen:
.
Det er imidlertid ikke alle de mulige kombinasjonene som er fornuftige å bruke; de viktigste som brukes, er følgende:
755 - Owner
har alle, og Group
og Other
kan lese og utføre
700 - Eier
har alle
644 - Owner
kan lese og skrive, og Group
og Other
kan lese og skrive.
600 - Eier
kan både lese og skrive
Og hvis du bruker ikke-trivielle brukergrupper:
775 - Owner
kan lese og skrive, og Group
og Other
kan lese og skrive.
770 - Owner
og Group
har alle, og Other
kan lese og utføre
750 - Eier
har alt, og Gruppe
kan lese og utføre
664 - Eier
og Gruppe
kan lese og skrive, og Andre
kan bare lese
660 - Eier
og Gruppe
kan både lese og skrive
640 - Eier
kan lese og skrive, og Gruppe
kan lese
777 og 666 brukes sjelden, bortsett fra i /tmp.
Takk Ilmari Karonen for å påpeke de som er i vanlig bruk!
Mine pronomen er Han / Ham
Løp:
chmod +x /path/to/file.sh
For å gjøre den ukjørbar, kjør:
chmod -x /path/to/file.sh
Jeg opprettet for eksempel filen .sh
:
vi tester12.sh
Etter at jeg har skrevet litt kode i vi-editoren, går jeg ut av vi-editoren:
:wq!
chmod +x tester12.sh
./tester12.sh