Hur man skapar och kör Bash Shell-skript på Windows 10
Med ankomsten av Windows 10s Bash-skal kan du nu skapa och köra Bash shell-skript på Windows 10. Du kan också integrera Bash-kommandon i en Windows-batchfil eller PowerShell-skript.
Även om du vet vad du gör är det inte nödvändigtvis så enkelt som det verkar. Windows och UNIX använder olika end-of-line-tecken, och Windows-filsystemet är tillgängligt på en annan plats i Bash-miljön.
Så här skriver du en basskript på Windows 10
När du skriver skalskript på Windows, kom ihåg att Windows och UNIX-liknande system som Linux använder olika "slutet av rad" tecken i textfiler i skalskript.
Med andra ord betyder det att du inte bara kan skriva ett skalskript i Anteckningsblock. Spara filen i Anteckningsblock och det kommer inte att tolkas ordentligt av Bash. Du kan dock använda mer avancerade textredigerare, till exempel, Notepad ++ låter dig ge en UNIX-karaktärsfil genom att klicka på Redigera> EOL-omvandling> UNIX / OSX-format.
Men du är bättre att bara skriva skalskriptet i Bash-miljön självt. Den Ubuntu-baserade Bash-miljön levereras med både vi och nano-redaktörer. Vi-redaktören är kraftfullare, men om du aldrig har använt den tidigare kanske du vill börja med nano. Det är lättare att använda om du är ny.
Om du till exempel vill skapa ett bash-skript i nano kör du följande kommando i bash:
nano ~ / myscript.sh
Detta skulle öppna Nano textredigeraren pekad på en fil med namnet "myscript.sh" i ditt användarkonto hemkatalog. (Tecknet "~" representerar din hemkatalog, så hela sökvägen är /home/username/myscript.sh.)
Starta ditt skalskript med raden:
#! / Bin / bash
Ange de kommandon du vill köra, var och en på egen rad. Skriptet kör varje kommando i sin tur. Lägg till ett "#" tecken före en rad för att behandla det som en "kommentar", något som hjälper dig och andra människor att förstå manuset men som inte körs som ett kommando. För mer avancerade tricks, se en mer detaljerad guide till Bash-skript på Linux. Samma tekniker kommer att fungera i Bash på Ubuntu på Windows.
Observera att det inte finns något sätt att köra Windows-program från Bash-miljön. Du är begränsad till Linux-terminalkommandon och verktyg, precis som du skulle vara på ett vanligt Linux-system.
Till exempel, låt oss bara använda ett grundläggande "hej världen" -skript som ett exempel här:
#! / bin / bash # ställa in STRING-variabeln STRING = "Hello World!" # skriv ut innehållet i variabeln på skärm echo $ STRING
Om du använder Nano textredigeraren kan du spara filen genom att trycka på Ctrl + O och sedan Enter. Stäng redigeraren genom att trycka på Ctrl + X.
Gör scriptet körbart och kör sedan det
Du kommer noga att göra att manuset körs så att du kan köra det lättare. På Linux betyder det att du måste ge skriptfilen det körbara tillståndet. För att göra det, kör följande kommando i terminalen och peka på det på ditt skript:
chmod + x ~ / myscript.sh
För att köra skriptet kan du nu bara köra det i terminalen genom att skriva in sökvägen. När du vill starta skriptet i framtiden, öppna bara Bash-skalet och skriv vägen till manuset.
~ / Myscript.sh
(Om skriptet finns i den aktuella katalogen kan du köra den med ./myscript.sh)
Hur man arbetar med Windows-filer i ett Bash-skript
För att komma åt Windows-filer i skriptet måste du ange deras sökväg under / mnt / c, inte deras Windows-sökväg. Om du till exempel vill ange filen C: \ Users \ Bob \ Downloads \ test.txt måste du ange /mnt/c/Users/Bob/Downloads/test.txt-sökvägen. Se vår guide till filplatser i Windows 10s Bash-skal för mer information.
Så här integrerar du baskommandon i en batch eller PowerShell Script
Slutligen, om du har en befintlig batchfil eller PowerShell-skript som du vill integrera kommandon i, kan du köra Bash-kommandon direkt med hjälp av bash-c
kommando.
Till exempel, för att köra ett Linux-kommando i ett Command Prompt eller PowerShell-fönster kan du köra följande kommando:
bash-c "command"
Med det här tricket kan du lägga till Bash-kommandon i batchfiler eller PowerShell-skript. Bash-skalfönstret visas när ett Bash-kommando körs.
Uppdatering: Om du har flera Linux-miljöer installerade kan du använda kommandot wslconfig för att välja den standard Linux-miljö som används när du kör bash-c
kommando.
För att skapa en genväg till ett Bash-skript från Windows, skapa bara en genväg som normalt. För genvägens mål, använd bash-c
kommandot vi skisserade ovan och peka på det i Bash-skriptet du skapade.
Du skulle till exempel peka en genväg på " bash-c "~ / myscript.sh"
"För att köra exemplet manus ovan. Du kan också bara köra kommandot från ett Kommandotolken eller PowerShell-fönstret.