Selv om du vet hva du gjør, er dette ikke nødvendigvis så enkelt som det ser ut til. Windows og UNIX bruker ulike 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 shell-skript i Notisblokk. Lagre filen i Notisblokk og det vil ikke tolkes riktig av Bash. Du kan imidlertid bruke mer avanserte tekstredigerere, for eksempel kan Notepad ++ gi deg en fil UNIX end-of-line-tegn ved å klikke Rediger> EOL-konvertering> UNIX / OSX-format.
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.)
#!/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 den 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, se 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 "hello world" -skript som et eksempel her:
#!/bin/bash # set the STRING variable STRING='Hello World!' # print the contents of the variable on screen echo $STRING
Hvis du bruker Nano teksteditoren, kan du lagre filen ved å trykke Ctrl + O og deretter Enter. Lukk editoren ved å trykke Ctrl + X.
Gjør scriptet 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
~/myscript.sh
(Hvis skriptet er i gjeldende katalog, kan du kjøre det med./myscript.sh)
Slik arbeider du 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.
For eksempel å kjøre en Linux-kommando i et kommandoprompt eller PowerShell-vindu, kan du kjøre følgende kommando:
bash -c 'command'
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å.