Как да създавате и изпълнявате скриптове на Bash Shell в Windows 10
С пристигането на Bash обвивката на Windows 10 вече можете да създавате и изпълнявате скриптове на Bash shell в Windows 10. Можете също да включите командите Bash в пакетния файл на Windows или скрипта PowerShell.
Дори и да знаете какво правите, това не е непременно толкова просто, колкото изглежда. Windows и UNIX използват различни символи в края на реда и файловата система на Windows е достъпна на друго място в средата на Bash.
Как да напишем Bash Script на Windows 10
Когато пишете скриптове за черупки в Windows, имайте предвид, че Windows и UNIX-подобни системи като Linux използват различни символи в края на реда в текстовите файлове в shell-скриптове..
С други думи, това означава, че не можете просто да напишете скрипт в Notepad. Запазете файла в Notepad и той няма да бъде правилно интерпретиран от Bash. Въпреки това, можете да използвате по-усъвършенствани текстови редактори - например, Notepad ++ ви позволява да дадете на файла UNIX символи в края на реда, като кликнете върху Редактиране> EOL Conversion> UNIX / OSX Format.
Въпреки това е по-добре да напишете скрипта в средата на Bash. Баш средата, базирана на Ubuntu, идва с текстовите редактори vi и nano. Редакторът vi е по-мощен, но ако никога преди не сте го използвали, може да искате да започнете с nano. По-лесно е да се използва, ако сте нов.
Например, за да създадете bash скрипт в nano, трябва да изпълните следната команда в bash:
nano ~ / myscript.sh
Това ще отвори текстовия редактор на Nano, сочещ към файл с име “myscript.sh” в домашната директория на вашия потребителски акаунт. (Символът „~“ представлява вашата домашна директория, така че пълният път е /home/username/myscript.sh.)
Стартирайте скрипта с линията:
#! / Хамбар / Баш
Въведете командите, които искате да изпълните, всяка от тях в своя ред. Скриптът ще изпълнява всяка команда последователно. Добавете знак „#“ пред ред, за да го третирате като „коментар“, нещо, което помага на вас и други хора да разберат скрипта, но който не се изпълнява като команда. За по-усъвършенствани трикове се консултирайте с по-подробно ръководство за Bash скриптове в Linux. Същите техники ще работят в Bash на Ubuntu на Windows.
Имайте предвид, че няма начин да стартирате Windows програми от средата на Bash. Вие сте ограничени до команди и помощни програми на Linux, точно както бихте били на типична Linux система.
Например, нека да използваме един основен скрипт „hello world“ като пример тук:
#! / bin / bash # зададе STRING променливата STRING = "Здравей, свят!" # отпечатва съдържанието на променливата на екрана echo $ STRING
Ако използвате текстовия редактор Nano, можете да запишете файла, като натиснете Ctrl + O и след това Enter. Затворете редактора, като натиснете Ctrl + X.
Направете Script Executable и след това го изпълнете
Вероятно ще искате да направите скрипта изпълним, за да можете да го стартирате по-лесно. На Linux това означава, че трябва да дадете на файла на скрипта изпълнителното разрешение. За да направите това, изпълнете следната команда в терминала, като я насочите към скрипта си:
chmod + x ~ / myscript.sh
За да стартирате скрипта, сега можете да го стартирате в терминала, като напишете пътя му. Всеки път, когато искате да стартирате скрипта в бъдеще, просто отворете черупката на Bash и въведете пътя към скрипта.
~ / Myscript.sh
(Ако скриптът е в текущата директория, можете да го стартирате с ./myscript.sh)
Как да работите с Windows файлове в Bash скрипт
За да получите достъп до Windows файловете в скрипта, ще трябва да посочите пътя им в / mnt / c, а не техния път за Windows. Например, ако искате да зададете C: Файловете на Bob Bob Downloads, трябва да посочите пътя /mnt/c/Users/Bob/Downloads/test.txt. Консултирайте се с нашето ръководство за файлови местоположения в Bash обвивката на Windows 10 за повече подробности.
Как да включите Bash команди в Batch или PowerShell Script
И накрая, ако имате съществуващ пакетен файл или скрипт на PowerShell, в който искате да включите команди, можете да стартирате командите Bash директно с помощта на bash -c
команда.
Например, за да изпълните Linux команда в команден ред или прозорец PowerShell, можете да изпълните следната команда:
bash -c "команда"
Този трик ви позволява да добавяте Bash команди в пакетни файлове или скриптове на PowerShell. Прозорецът на обвивката на Bash ще се появи, когато се изпълни команда Bash.
Актуализация: Ако имате инсталирани няколко Linux среди, можете да използвате командата wslconfig, за да изберете подразбиращата се среда на Linux, използвана, когато стартирате bash -c
команда.
За да създадете пряк път към скрипт Bash от Windows, просто създайте пряк път като нормален. За целта на прекия път използвайте bash -c
командата, която очертахме по-горе, и я насочим към създадения от вас Bash скрипт.
Например бихте посочили бърз достъп до „ bash -c "~ / myscript.sh"
”, За да изпълните примерния скрипт по-горе. Можете също така да изпълните тази команда и от прозореца на командния ред или PowerShell.