? Du kan lave enhver fil eksekverbar fra kommandolinjen i Linux. Selv shell scripts skrevet direkte ind i en teksteditor kan fungere som en eksekverbar fil , så længe systemet ved, at filen kan udføres. I Windows , kender systemet en fil er eksekverbar ved sin filtypenavn - for eksempel altid en binær ansøgning har filtypenavnet " exe ". . Dog Linux afhængig filrettigheder at vide, om en fil skal udføres af systemet. Tekstfil Script
For at lave en tekstfil eksekverbar skal indholdet af filen indeholde en form for eksekverbar kode. For eksempel skal du indtaste følgende i en teksteditor : Hej
# /bin /bash
echo Hello World
p Dette er et bash script! . Linux kender dette, fordi " molevitten " linien i starten - # /bin /bash. Gem filen som " hello.sh ".
Fil Tilladelser
Hver fil har " filrettigheder " eller de regler, der regulerer , hvem der kan læse, skrive og udføre det . Indtastning af kommandoen " ls-l " i en Linux -terminal viser indholdet af den nuværende mappe , sammen med filrettigheder . Kommandoen " ls" kunne opremse filen som dette : Hej
- rw-r - r - Robert brugere hello.sh
lister tilladelser for filen i grupper på tre: første ejer tilladelser - " Robert" ejer filen - . " rw- " der kan læse og skrive, eller Den anden er gruppen tilladelse , hvor " Robert" er i gruppen "brugere ". Nogen i gruppen " brugere " kan læse filen , eller " r - . " Det sidste er alle andre , . Enhver anden bruger kan læse, eller "r - " filen
Chmod
Linux kommando " chmod " ændringer tilladelser til filer. Kun ejeren af filen - i dette eksempel, " Robert" - eller en administrator kan ændre tilladelser på en fil. Ejeren eller administratoren kan ændre filen , så kun bestemte mennesker eller grupper kan læse det eller begrænse dets gennemførelse for visse personer . I eksemplet " hello.sh , " ingen kan køre filen . Men hvis ejeren af filen udfører følgende kommando : Hej
chmod u = x hello.sh
derefter en anden opfordring til " ls-l " kommando viser følgende : Hej < p> - rwx r - r - Robert brugere hello.sh
Robert kan køre filen
Execution
nu da . fil er markeret som eksekverbart , alt der er tilbage er rent faktisk at udføre det. Udfører filer fra terminalen er ikke nødvendigvis automatisk : Linux ikke er opmærksomme på filtyper , især fra kommandolinjen, og skal vide , hvad program vil køre filen . For et bash script som " hello.sh ," det er et spørgsmål om at fortælle systemet til at køre filen direkte : .
/Hello.sh
Dette fortæller Linux shell til at køre scriptet , snarere end åbne den i en teksteditor . Resultatet er
"Hello World" udskrives til terminalen.