С пристигането на Bash shell на Windows 10 вече можете да създавате и изпълнявате скриптове Bash shell в Windows 10. Можете също така да включите команди Bash в Windows пакет файл или PowerShell скрипт.
Дори да знаете какво правите, това не е толкова просто, колкото изглежда. Windows и UNIX използват различни крайни знаци, а файловата система Windows е достъпна на различно място в средата на Баш.
При писането на скриптове на 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.
Вероятно ще искате да направите скрипта изпълним, за да можете да го изпълнявате по-лесно. На Linux, това означава, че трябва да дадете на файла на скрипта разрешението на изпълнимия файл. За целта изпълнете следната команда в терминала, като я посочите в скрипта:
chmod + x ~ / myscript.sh
За да стартирате скрипта, можете просто да го стартирате в терминала, като напишете пътя му. Всеки път, когато искате да стартирате скрипта в бъдеще, просто отворете Bash shell и въведете пътя към скрипта.
~ / Myscript.sh
(Ако скриптът е в текущата директория, можете да го стартирате с ./myscript.sh)
За достъп до Windows файловете в скрипта, ще трябва да посочите пътя им под / mnt / c, а не техния път на Windows. Ако например искате да посочите файла C: \ Users \ Bob \ Downloads \ test.txt, трябва да посочите /mnt/c/Users/Bob/Downloads/test.txt. Обърнете се към ръководството ни за файловите местоположения в Bash shell на Windows 10 за повече подробности.
Накрая, ако имате съществуващ партиден файл или скрипт 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.