Hjemmeside » hvordan » Hvordan lage og kjøre Bash Shell-skript på Windows 10

    Hvordan lage og kjøre Bash Shell-skript på Windows 10

    Med ankomsten av Windows 10s Bash-skall kan du nå lage og kjøre Bash shell-skript på Windows 10. Du kan også inkludere Bash-kommandoer i en Windows-batchfil eller PowerShell-skript.

    Selv om du vet hva du gjør, er dette ikke nødvendigvis så enkelt som det virker. Windows og UNIX bruker forskjellige end-of-line-tegn, og Windows-filsystemet er tilgjengelig på et annet sted i Bash-miljøet.

    Hvordan skrive et Bash Script på Windows 10

    Når du skriver shell-skript på Windows, må du huske at Windows og UNIX-lignende systemer som Linux bruker forskjellige "end of line" -karakterer i tekstfiler i shell-skript.

    Med andre ord betyr dette at du ikke bare kan skrive et skallskript i Notisblokk. Lagre filen i Notisblokk og det vil ikke tolkes riktig av Bash. Du kan imidlertid bruke mer avanserte tekstredigerere, for eksempel Notepad ++ lar deg gi en fil UNIX end-of-line-tegn ved å klikke Rediger> EOL-konvertering> UNIX / OSX-format.

    Men du har det bedre bare å skrive shell-skriptet i Bash-miljøet selv. Det Ubuntu-baserte Bash-miljøet kommer med både vi og nano-tekstredaktørene. Vi-editoren er kraftigere, men hvis du aldri har brukt den før, kan du starte med nano. Det er lettere å bruke hvis du er ny.

    For eksempel, for å lage et bash script i nano, vil du kjøre følgende kommando i bash:

    nano ~ / myscript.sh

    Dette vil åpne Nano teksteditoren peket på en fil med navnet "myscript.sh" i din brukerkonto sin hjemmekatalog. (Tegnet "~" representerer din hjemmekatalog, så hele banen er /home/brukernavn/myscript.sh.)

    Start skalskriptet ditt med linjen:

    #! / Bin / bash

    Skriv inn kommandoene du vil kjøre, hver på sin egen linje. Skriptet kjører hver kommando i sin tur. Legg til et "#" tegn før en linje for å behandle det som en "kommentar", noe som hjelper deg og andre folk til å forstå skriptet, men som ikke kjøres som en kommando. For mer avanserte triks, ta en mer detaljert veiledning til Bash-skript på Linux. De samme teknikkene vil fungere i Bash på Ubuntu på Windows.

    Vær oppmerksom på at det ikke er mulig å kjøre Windows-programmer fra Bash-miljøet. Du er begrenset til Linux-terminalkommandoer og verktøy, akkurat som du ville være på et typisk Linux-system.

    For eksempel, la oss bare bruke et grunnleggende "hallo verden" skript som et eksempel her:

    #! / bin / bash # angi STRING-variabelen STRING = "Hello World!" # skriv ut innholdet i variabelen på skjerm ekko $ STRING

    Hvis du bruker Nano-tekstredigereren, kan du lagre filen ved å trykke Ctrl + O og deretter Enter. Lukk editoren ved å trykke Ctrl + X.

    Gjør skriptet kjørbart og kjør det

    Du vil sikkert gjøre at manuset kan kjøres, slik at du kan kjøre det lettere. På Linux betyr det at du må gi skriptfilen den kjørbare tillatelsen. For å gjøre det, kjør følgende kommando i terminalen, peker på det på skriptet ditt:

    chmod + x ~ / myscript.sh

    For å kjøre skriptet, kan du nå bare kjøre det i terminalen ved å skrive inn banen. Når du vil starte skriptet i fremtiden, bare åpne Bash-skallet og skriv banen til skriptet.

    ~ / Myscript.sh

    (Hvis skriptet er i gjeldende katalog, kan du kjøre det med ./myscript.sh)

    Hvordan jobbe med Windows-filer i et Bash-script

    For å få tilgang til Windows-filer i skriptet, må du spesifisere banen under / mnt / c, ikke deres Windows-bane. Hvis du for eksempel vil spesifisere filen C: \ Users \ Bob \ Downloads \ test.txt, må du spesifisere /mnt/c/Users/Bob/Downloads/test.txt-banen. Se vår guide til filplasseringer i Windows 10s Bash-skall for mer informasjon.

    Slik inkorporerer du baskommandoer i et batch eller PowerShell-script

    Til slutt, hvis du har en eksisterende batchfil eller PowerShell-script, vil du inkorporere kommandoer i, kan du kjøre Bash-kommandoer direkte ved hjelp av bash-c kommando.

    Hvis du for eksempel skal kjøre en Linux-kommando i et kommandoprompt eller PowerShell-vindu, kan du kjøre følgende kommando:

    bash-c "kommando"

    Dette trikset lar deg legge til Bash-kommandoer i batchfiler eller PowerShell-skript. Bash-skallvinduet vises når en Bash-kommando kjører.

    Oppdater: Hvis du har installert flere Linux-miljøer, kan du bruke wslconfig-kommandoen til å velge standard Linux-miljø som brukes når du kjører bash-c kommando.


    Hvis du vil opprette en snarvei til et Bash-skript fra Windows, kan du bare opprette en snarvei som vanlig. For snarveien er målet, bruk bash-c kommandoen vi skisserte over og peker på det på Bash-skriptet du opprettet.

    For eksempel vil du peke på en snarvei på " bash-c "~ / myscript.sh" "For å kjøre eksempelskriptet ovenfor. Du kan også bare kjøre denne kommandoen fra et Command Prompt eller PowerShell-vindu også.