Hjemmeside » hvordan » Sådan oprettes og køres Bash Shell Scripts på Windows 10

    Sådan oprettes og køres Bash Shell Scripts på Windows 10

    Med ankomsten af ​​Windows 10's Bash-shell kan du nu oprette og køre Bash shell-scripts på Windows 10. Du kan også inkorporere Bash-kommandoer i en Windows-batchfil eller PowerShell-script.

    Selvom du ved hvad du laver, er det ikke nødvendigvis så enkelt som det ser ud til. Windows og UNIX bruger forskellige end-of-line-tegn, og Windows-filsystemet er tilgængeligt på en anden placering i Bash-miljøet.

    Sådan skriver du et Bash-script på Windows 10

    Når du skriver shell-scripts på Windows, skal du huske på, at Windows og UNIX-lignende systemer som Linux bruger forskellige "end of line" tegn i tekstfiler i shell scripts.

    Det betyder med andre ord, at du ikke bare kan skrive et skaleskript i Notesblok. Gem filen i Notesblok, og den bliver ikke fortolket korrekt af Bash. Du kan dog bruge mere avancerede tekstredigerere, f.eks. Notepad ++ giver dig mulighed for at give en fil UNIX end-of-line-tegn ved at klikke på Rediger> EOL-konvertering> UNIX / OSX-format.

    Men det er bedre du bare skriver shell scriptet i selve Bash miljøet. Det Ubuntu-baserede Bash-miljø leveres med både vi og nano tekstredaktører. Vi-editoren er mere kraftfuld, men hvis du aldrig har brugt det før, kan du starte med nano. Det er nemmere at bruge, hvis du er ny.

    Hvis du for eksempel vil oprette et bash script i nano, vil du køre følgende kommando i bash:

    nano ~ / myscript.sh

    Dette vil åbne Nano teksteditoren peget på en fil med navnet "myscript.sh" i din brugerkontos hjemmekatalog. ("~" Tegnet repræsenterer dit hjemmekatalog, så hele stien er /home/brugernavn/myscript.sh.)

    Start din shell script med linjen:

    #! / Bin / bash

    Indtast de kommandoer, du vil køre, hver på sin egen linje. Skriptet kører hver kommando igen. Tilføj et "#" tegn før en linje for at behandle det som en "kommentar", noget som hjælper dig og andre mennesker med at forstå scriptet, men som ikke køres som en kommando. For mere avancerede tricks, se en mere detaljeret vejledning til Bash-scripts på Linux. De samme teknikker vil fungere i Bash på Ubuntu på Windows.

    Bemærk, at der ikke er nogen måde at køre Windows-programmer fra i Bash-miljøet. Du er begrænset til Linux-terminalkommandoer og -funktioner, ligesom du ville være på et typisk Linux-system.

    For eksempel, lad os bare bruge et grundlæggende "hello world" script som et eksempel her:

    #! / bin / bash # indstil STRING-variablen STRING = "Hello World!" # Udskriv indholdet af variablen på skærm ekko $ STRING

    Hvis du bruger Nano teksteditoren, kan du gemme filen ved at trykke på Ctrl + O og derefter Enter. Luk editoren ved at trykke på Ctrl + X.

    Gør scriptet eksekverbart og kør det derefter

    Du vil nok have gjort scriptet eksekverbart, så du kan køre det lettere. På Linux betyder det, at du skal give scriptfilen den eksekverbare tilladelse. For at gøre det skal du køre følgende kommando i terminalen og pege på scriptet:

    chmod + x ~ / myscript.sh

    For at køre scriptet kan du nu bare køre det i terminalen ved at skrive sin sti. Når du vil starte scriptet i fremtiden, skal du bare åbne Bash-skalen og skrive stien til scriptet.

    ~ / Myscript.sh

    (Hvis scriptet er i det aktuelle bibliotek, kan du køre det med ./myscript.sh)

    Sådan arbejder du med Windows-filer i et Bash-script

    For at få adgang til Windows-filer i scriptet skal du angive deres sti under / mnt / c, ikke deres Windows-sti. For eksempel, hvis du ønskede at angive filen C: \ Users \ Bob \ Downloads \ test.txt, skal du angive /mnt/c/Users/Bob/Downloads/test.txt-stien. Se vores guide til filplaceringer i Windows 10s Bash-shell for flere detaljer.

    Sådan indarbejdes baskommandoer i et batch eller PowerShell-script

    Endelig, hvis du har et eksisterende batch-fil eller PowerShell-script, skal du inkorporere kommandoer i, kan du køre Bash-kommandoer direkte ved hjælp af bash-c kommando.

    Hvis du f.eks. Vil køre en Linux-kommando i et kommandoprompt eller PowerShell-vindue, kan du køre følgende kommando:

    bash-c "kommando"

    Dette trick giver dig mulighed for at tilføje Bash-kommandoer i batch-filer eller PowerShell-scripts. Vinduet Bash skal vises, når en Bash-kommando kører.

    Opdatering: Hvis du har flere Linux-miljøer installeret, kan du bruge kommandoen wslconfig til at vælge det standard Linux-miljø, der bruges, når du kører bash-c kommando.


    Hvis du vil oprette en genvej til et Bash-script fra Windows, skal du bare oprette en genvej som normal. For genvejens mål skal du bruge bash-c kommando vi skitserede ovenfor og pege på det i Bash scriptet du oprettede.

    For eksempel vil du pege på en genvej på " bash-c "~ / myscript.sh" "For at køre eksemplet scriptet ovenfor. Du kan også bare køre denne kommando fra et kommandoprompt eller et PowerShell-vindue.