Даже если вы знаете, что делаете, это не обязательно так просто, как кажется. Windows и UNIX используют разные символы конца строки, а файловая система Windows доступна в другом месте в среде Bash.
Как написать сценарий Bash в Windows 10
При написании сценариев оболочки в Windows помните, что Windows и UNIX-подобные системы, такие как Linux, используют разные символы «конца строки» в текстовых файлах в сценариях оболочки.
Другими словами, это означает, что вы не можете просто написать сценарий оболочки в «Блокноте». Сохраните файл в «Блокноте», и он не будет правильно интерпретироваться Bash. Тем не менее, вы можете использовать более сложные текстовые редакторы, например, Notepad ++ позволяет вам предоставить файл конечных символов UNIX, нажав «Редактировать»> «Преобразование EOL»> «Формат UNIX / OSX».
Например, чтобы создать скрипт bash в nano, вы выполните следующую команду в bash:
nano ~/myscript.sh
Это откроет текстовый редактор Nano, указанный в файле с именем «myscript.sh» в домашнем каталоге вашей учетной записи пользователя. (Символ «~» представляет ваш домашний каталог, поэтому полный путь: /home/username/myscript.sh.)
#!/bin/bash
Введите команды, которые вы хотите запустить, каждый из которых находится в отдельной строке. Скрипт будет запускать каждую команду по очереди. Добавьте символ «#» перед строкой, чтобы рассматривать его как «комментарий», что поможет вам и другим людям понять сценарий, но который не запускается как команда. Для получения более совершенных трюков обратитесь к более подробному руководству по сценариям Bash в Linux. Те же методы будут работать в Bash на Ubuntu в Windows.
Обратите внимание: нет возможности запуска программ Windows из среды Bash. Вы ограничены командами и утилитами терминала Linux, так же, как и в обычной Linux-системе.
Например, давайте просто воспользуемся базовым сценарием «hello world» в качестве примера:
#!/bin/bash # set the STRING variable STRING='Hello World!' # print the contents of the variable on screen echo $STRING
Если вы используете текстовый редактор Nano, вы можете сохранить файл, нажав Ctrl + O, а затем Enter. Закройте редактор, нажав Ctrl + X.
Сделайте исполняемый файл сценария, а затем запустите его
Вероятно, вам понадобится сделать исполняемый файл сценария, чтобы вы могли легко запускать его. В Linux это означает, что вам нужно предоставить файлу сценария исполняемое разрешение. Для этого запустите следующую команду в терминале, указав ее на свой скрипт:
chmod +x ~/myscript.sh
~/myscript.sh
(Если скрипт находится в текущем каталоге, вы можете запустить его с./myscript.sh)
Как работать с файлами Windows в сценарии Bash
Чтобы получить доступ к файлам Windows в сценарии, вам нужно указать их путь в / mnt / c, а не в пути к ним. Например, если вы хотите указать файл C: Users Bob Downloads test.txt, вам нужно указать путь /mnt/c/Users/Bob/Downloads/test.txt. Для получения дополнительной информации обратитесь к нашему руководству по расположению файлов в оболочке Bash Windows 10.
Как включить команды Bash в скрипт Batch или PowerShell
Наконец, если у вас есть существующий командный файл или сценарий PowerShell, в который вы хотите включить команды, вы можете запускать команды Bash напрямую, используя
bash -c
команда.
Например, чтобы запустить команду Linux в окне командной строки или PowerShell, вы можете запустить следующую команду:
bash -c 'command'
Этот трюк позволяет добавлять команды Bash в командные файлы или сценарии PowerShell. Окно оболочки Bash появится, когда запущена команда Bash.
Обновить: Если у вас установлено несколько Linux-сред, вы можете использовать команду wslconfig для выбора среды Linux по умолчанию, используемой при запуске
bash -c
команда.
Чтобы создать ярлык для сценария Bash изнутри Windows, просто создайте ярлык, как обычно. Для цели ярлыка используйте
bash -c
которую мы описали выше, и укажем на созданный вами сценарий Bash.
Например, вы укажете ярлык на"
bash -c '~/myscript.sh'
Msgstr запустить приведенный выше пример скрипта. Вы также можете просто запустить эту команду из окна командной строки или окна PowerShell.