Начална » как да » Как да създавате и изпълнявате скриптове на Bash Shell в Windows 10

    Как да създавате и изпълнявате скриптове на 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.