? Du kan göra en fil körbar från kommandoraden i Linux . Även shell skript skrivna direkt i en textredigerare kan fungera som en körbar fil , så länge som systemet vet att filen kan exekveras . I Windows , vet systemet en fil är körbar genom dess filändelse - till exempel en binär ansökan alltid har filändelsen " exe . " . Men förlitar Linux på filrättigheter att veta om en fil ska exekveras av systemet . Textfil Script
att göra en körbar textfil , måste innehållet i filen innehåller någon form av exekverbar kod . Till exempel , skriv in följande i en textredigerare :
# /bin /bash
echo Hello World
Detta är ett bash script ! . Linux vet detta eftersom " schabraket " linje i början - ! # /Bin /bash . Spara filen som " hello.sh . "
Filbehörigheter
Varje fil har " filrättigheter , " eller de regler som styr vem som kan läsa , skriva och exekvera den. Mata in kommandot " ls-l " i ett Linux -terminal listar innehållet i den aktuella katalogen , tillsammans med filrättigheter . Kommandot " ls " kan lista filen så här :
- rw - r - r - Robert användare hello.sh
listor behörigheter för filen i grupper om tre: första är ägarbehörighet - " Robert " äger filen - " . rw - " som kan läsa och skriva , eller Den andra är gruppen tillstånd , där " Robert " är i gruppen "användare . " Någon i gruppen " användare " kan läsa filen , eller " r - . " Den sista är alla andra , . Någon annan användare kan läsa , eller " R - " filen
Chmod
Linux kommandot " chmod " förändringar behörigheter för filer . Endast ägaren av filen - i det här exemplet , " Robert " - eller en administratör kan ändra behörigheterna för en fil . Ägaren eller administratören kan ändra filen så att endast vissa personer eller grupper kan läsa det , eller begränsa dess genomförande till vissa individer . I exemplet " hello.sh , " ingen kan köra filen . Men om ägaren av filen exekverar följande kommando :
chmod u = x hello.sh
sedan ytterligare ett samtal till " ls-l " -kommandot visar följande :
- rwx r - r - Robert användare hello.sh
nu Robert kan köra filen
Execution
nu när . filen markeras som körbar , är allt som är kvar att faktiskt verkställa det . Exekvera filer från terminalen är inte nödvändigtvis automatiskt : Linux inte uppmärksamma filändelser , särskilt från kommandoraden , och måste få veta vad programmet kommer att köra filen . För ett bash script som " hello.sh , " det är en fråga om att tala om för systemet att köra filen direkt : .
/Hello.sh
Detta talar i Linux-skalet för att köra skriptet , snarare än öppna den i en textredigerare . Resultatet är
" Hello World " skrivs till terminalen .