30Jun
S příchodem balíčku Bash systému Windows 10 můžete nyní vytvářet a spouštět Bash shell skripty v systému Windows 10. Můžete také zahrnout příkazy Bash do dávkového souboru systému Windows nebo skriptu PowerShell.
I když víte, co děláte, není to nutně tak jednoduché, jak se zdá.Windows a UNIX používají různé znaky na konci řádku a souborový systém Windows je přístupný na jiném místě v prostředí Bash.
Jak psát skript Bash na systému Windows 10
Při psaní skriptů ve skriptech ve Windows si pamatujte, že systémy Windows a UNIX, jako je Linux, používají různé znaky "konce řádku" v textových souborech ve skriptech shellu.
Jinými slovy, znamená to, že v poznámkovém bloku nemůžete jednoduše napsat skript shellu. Uložte soubor do programu Poznámkový blok a nebude Bash správně interpretován. Můžete však použít pokročilejší textové editory - například Notepad ++ vám umožňuje dát soubor END-line řádků kliknutím na tlačítko Upravit & gt;Převod EOL & gt;Formát UNIX / OSX.
Nicméně je lepší líbit jen psaní shell skriptu v samotném prostředí Bash. Prostředí Bash založené na Ubuntu je dodáváno s editory vi i nano. Editor vi je silnější, ale pokud jste ho ještě nikdy nepoužili, možná budete chtít začít s nano. Je snadnější používat, pokud jste noví.
Například pro vytvoření bash skriptu v nano byste spustili následující příkaz v bash:
nano ~ / myscript.shTímto by se otevřel textový editor Nano ukázal na soubor s názvem "myscript.sh" ve vašem uživatelidomovský adresář účtu.(Znak "~" představuje váš domovský adresář, takže úplná cesta je /home/username/ myscript.sh.)
Spusťte skript shell s řádkem:
#!/bin/ bashZadejte příkazy, které chcete spustit, každý na svém řádku. Skript spustí každý příkaz podle pořadí.Přidejte znak "#" před řádek, aby byl považován za "komentář", což vám a ostatním lidem pomáhá pochopit skript, ale který není spuštěn jako příkaz. Pro pokročilejší triky se podívejte na podrobnější příručku k Bashovým skriptům na Linuxu. Stejné techniky budou pracovat v systému Bash na Ubuntu v systému Windows.
Všimněte si, že není možné spustit programy Windows z prostředí Bash. Jste omezeni na příkazy a nástroje terminálu Linux, stejně jako na typickém systému Linux.
Jako příklad například použijeme základní skript "hello world":
#!/bin/ bash # nastavit proměnnou STRING STRING = "Hello World!"# tisknout obsah proměnné na obrazovce echo $ STRINGPokud používáte textový editor Nano, můžete soubor uložit stisknutím kláves Ctrl + O a poté zadat Enter. Zavřete editor stisknutím kláves Ctrl + X.
Spusťte spustitelný skript a spusťte jej
Pravděpodobně budete chtít vytvořit skript spustitelný tak, abyste jej mohli spustit jednodušeji. V Linuxu to znamená, že musíte dát soubor skriptu oprávnění spustitelného souboru. Chcete-li tak učinit, spusťte v terminálu následující příkaz a označte jej skriptem:
chmod + x ~ / myscript.shChcete-li spustit skript, můžete jej nyní spustit pouze v terminálu zadáním jeho cesty. Kdykoli chcete spustit skript v budoucnu, stačí otevřít shell Bash a zadejte cestu ke skriptu.
~ / myscript.sh( Pokud je skript v aktuálním adresáři, můžete jej spustit pomocí. /myscript.sh)
Jak pracovat se soubory systému Windows v skriptu Bash
Chcete-li získat přístup k souborům Windows ve skriptu,budete muset zadat jejich cestu pod /mnt/ c, ne jejich cestu Windows. Pokud například chcete zadat soubor C: \ Users \ Bob \ Downloads \ test.txt, musíte zadat cestu /mnt/c/Users/Bob/Downloads/ test.txt. Další podrobnosti naleznete v nápovědě k umístění souborů v prostředí Bash Windows 10.
Jak začlenit příkazy Bash do dávkového skriptu nebo skriptu PowerShell
Konečně, pokud máte existující dávkový soubor nebo skript PowerShell, do kterého chcete vložit příkazy, můžete spustit příkazy Bash přímo pomocí příkazu bash -c.
Například spustit příkaz Linux v okně příkazového řádku nebo PowerShell můžete spustit následující příkaz:
bash -c "příkaz"Tento trik umožňuje přidat příkazy Bash do dávkových souborů nebo skriptů PowerShell. Okno Bash shell se objeví při spuštění příkazu Bash.
Chcete-li vytvořit zkratku pro skript Bash v rámci systému Windows, stačí vytvořit zástupce jako normální.Pro cílovou zkratku použijte příkaz bash -c, který jsme popsali výše, a ukažte jej na vytvořený skript Bash.
Například ukážete zkratku na "bash -c" ~ / myscript.sh "" pro spuštění výše uvedeného příkladu skriptu. Můžete také spustit tento příkaz z příkazového řádku nebo z okna PowerShell.