If-Koubou

Как да създадете и стартирате Bash Shell скриптове на Windows 10

Как да създадете и стартирате Bash Shell скриптове на Windows 10 (Как да)

С пристигането на Bash shell на Windows 10 вече можете да създавате и изпълнявате скриптове Bash shell в Windows 10. Можете също така да включите команди Bash в Windows пакет файл или PowerShell скрипт.

Дори да знаете какво правите, това не е толкова просто, колкото изглежда. Windows и UNIX използват различни крайни знаци, а файловата система Windows е достъпна на различно място в средата на Баш.

Как да напиша Bash Script на Windows 10

При писането на скриптове на Shell в Windows, имайте предвид, че Windows и UNIX-подобни системи като Linux използват различни знаци "end of line" в текстовите файлове в shell скриптове.

С други думи, това означава, че не можете просто да напишете скрипт за Shell в Notepad. Запишете файла в Notepad и няма да бъде интерпретиран правилно от Баш. Можете обаче да използвате по-усъвършенствани текстови редактори - например Notepad ++ ви позволява да дадете файл от края на реда на UNIX, като кликнете върху Edit> EOL Conversion> UNIX / OSX Format.

Въпреки това, по-добре е просто да напишете скрипта на Shell в самата баши среда. Бас-средата, базирана на Ubuntu, идва с редактора на ви и нано текстовете. Редакторът vi е по-мощен, но ако никога не сте го използвали преди, може да искате да започнете с нано. По-лесно е да го използвате, ако сте нови.

Например, за да създадете скрипт bash в нано, бихте изпълнили следната команда в bash:

nano ~ / myscript.sh

Това ще отвори текстовия редактор Nano, посочен във файл с име "myscript.sh" в домашната ви директория на потребителския ви профил. (Знакът "~" представлява вашата домашна директория, така че пълният път е /home/username/myscript.sh.)

Започнете скрипта си с чертата:

#! / Хамбар / Баш

Въведете командите, които искате да изпълните, всяка от тях на собствената линия. Сценарият ще изпълни всяка команда на свой ред. Добавете знак "#" преди реда, за да го разгледате като "коментар", което ви помага да разберете скрипта, но който не се изпълнява като команда. За по-усъвършенствани трикове потърсете по-подробно ръководство за скриптове Bash на Linux. Същите техники ще работят в баш на Ubuntu на Windows.

Имайте предвид, че няма начин да стартирате програми от Windows в средата на Баш. Вие сте ограничени до команди и комунални услуги на терминал на Linux, точно както бихте били на типична Linux система.

Например, нека просто използваме основния скрипт "hello world" като пример тук:

#! / bin / bash # задайте променливата STRING STRING = "Здравей свят!" # отпечатайте съдържанието на променливата на екрана echo $ STRING

Ако използвате текстовия редактор Nano, можете да го запишете, като натиснете Ctrl + O и след това Enter. Затворете редактора, като натиснете клавишите Ctrl + X.

Направете Script Executable и след това го стартирайте

Вероятно ще искате да направите скрипта изпълним, за да можете да го изпълнявате по-лесно. На Linux, това означава, че трябва да дадете на файла на скрипта разрешението на изпълнимия файл. За целта изпълнете следната команда в терминала, като я посочите в скрипта:

chmod + x ~ / myscript.sh

За да стартирате скрипта, можете просто да го стартирате в терминала, като напишете пътя му. Всеки път, когато искате да стартирате скрипта в бъдеще, просто отворете Bash shell и въведете пътя към скрипта.

~ / Myscript.sh

(Ако скриптът е в текущата директория, можете да го стартирате с ./myscript.sh)

Как да работите с Windows файлове в баш скрипт

За достъп до Windows файловете в скрипта, ще трябва да посочите пътя им под / mnt / c, а не техния път на Windows. Ако например искате да посочите файла C: \ Users \ Bob \ Downloads \ test.txt, трябва да посочите /mnt/c/Users/Bob/Downloads/test.txt. Обърнете се към ръководството ни за файловите местоположения в Bash shell на Windows 10 за повече подробности.

Как да включите баш команди в пакет или PowerShell скрипт

Накрая, ако имате съществуващ партиден файл или скрипт PowerShell, в който искате да включите команди, можете директно да изпълнявате командите Bash с помощта на bash -c команда.

Например, за да стартирате Linux команда в прозореца Command Prompt или PowerShell, можете да изпълните следната команда:

bash -c "команда"

Този трик ви позволява да добавяте команди за Bash в партидни файлове или PowerShell скриптове. Прозорецът Bash shell ще се появи, когато се изпълни команда Баш.

Актуализация: Ако имате няколко инсталирани Linux среда, можете да използвате командата wslconfig, за да изберете стандартната Linux среда, използвана, когато стартирате bash -c команда.

За да създадете пряк път към Bash скрипт от Windows, просто създайте пряк път като нормално. За целта за бърз достъп използвайте bash -c командата, която описахме по-горе, и я насочете към башиста, който сте създали.

Например, трябва да посочите пряк път на адрес " bash -c "~ / myscript.sh" ", За да изпълните горния пример. Можете също така да стартирате тази команда от прозореца на командния ред или PowerShell.