Домашняя » как » Как создавать и запускать сценарии Bash Shell в Windows 10

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

    С появлением оболочки Bash в Windows 10 теперь можно создавать и запускать сценарии оболочки Bash в Windows 10. Вы также можете включать команды Bash в пакетный файл Windows или сценарий PowerShell..

    Даже если вы знаете, что делаете, это не обязательно так просто, как кажется. Windows и UNIX используют разные символы конца строки, а файловая система Windows доступна в другом месте в среде Bash.

    Как написать скрипт Bash для Windows 10

    При написании сценариев оболочки в Windows имейте в виду, что Windows и UNIX-подобные системы, такие как Linux, используют разные символы «конца строки» в текстовых файлах в сценариях оболочки.

    Другими словами, это означает, что вы не можете просто написать скрипт оболочки в Блокноте. Сохраните файл в Блокноте, и он не будет правильно интерпретироваться Bash. Однако вы можете использовать более продвинутые текстовые редакторы, например, Notepad ++ позволяет задавать в файле символы конца строки UNIX, щелкнув «Правка»> «Преобразование EOL»> «Формат UNIX / OSX»..

    Однако вам лучше всего написать сценарий оболочки в самой среде Bash. Среда Bash на основе Ubuntu поставляется с текстовыми редакторами vi и nano. Редактор vi более мощный, но если вы никогда не использовали его раньше, вы можете начать с nano. Это проще в использовании, если вы новичок.

    Например, чтобы создать скрипт bash в nano, вы должны выполнить следующую команду в bash:

    nano ~ / myscript.sh

    Откроется текстовый редактор Nano, указывающий на файл с именем «myscript.sh» в домашнем каталоге вашей учетной записи. (Символ «~» обозначает ваш домашний каталог, поэтому полный путь - /home/username/myscript.sh.)

    Запустите скрипт оболочки со строкой:

    #! / Bin / Баш

    Введите команды, которые вы хотите запустить, каждая в отдельной строке. Скрипт будет запускать каждую команду по очереди. Добавьте символ «#» перед строкой, чтобы рассматривать его как «комментарий», что поможет вам и другим людям понять сценарий, но не будет выполнено как команда. Для более продвинутых трюков, обратитесь к более подробному руководству по скриптам Bash для Linux. Те же методы будут работать в Bash на Ubuntu на Windows.

    Обратите внимание, что нельзя запускать программы Windows из среды Bash. Вы ограничены командами и утилитами терминала Linux, так же как и в обычной системе Linux.

    Например, давайте просто используем базовый скрипт «hello world» в качестве примера здесь:

    #! / bin / bash # установить переменную STRING STRING = "Hello World!" # выводить содержимое переменной на экран echo $ STRING

    Если вы используете текстовый редактор Nano, вы можете сохранить файл, нажав Ctrl + O, а затем Enter. Закройте редактор, нажав Ctrl + X.

    Сделайте скрипт исполняемым, а затем запустите его

    Вы, вероятно, захотите сделать сценарий исполняемым, чтобы его было проще запускать. В Linux это означает, что вам нужно дать файлу сценария разрешение на выполнение. Для этого выполните в терминале следующую команду, указав ее в своем скрипте:

    chmod + x ~ / myscript.sh

    Чтобы запустить скрипт, теперь вы можете просто запустить его в терминале, набрав его путь. Всякий раз, когда вы хотите запустить скрипт в будущем, просто откройте оболочку Bash и введите путь к скрипту.

    ~ / Myscript.sh

    (Если скрипт находится в текущем каталоге, вы можете запустить его с помощью ./myscript.sh)

    Как работать с файлами Windows в скрипте Bash

    Чтобы получить доступ к файлам Windows в скрипте, вам нужно указать их путь в / mnt / c, а не путь к Windows. Например, если вы хотите указать файл C: \ Users \ Bob \ Downloads \ test.txt, вам необходимо указать путь /mnt/c/Users/Bob/Downloads/test.txt. Обратитесь к нашему руководству по расположению файлов в оболочке Bash в Windows 10 для более подробной информации..

    Как включить команды Bash в пакетный или PowerShell-скрипт

    Наконец, если у вас есть существующий пакетный файл или сценарий PowerShell, в который вы хотите включить команды, вы можете запускать команды Bash напрямую, используя Баш-с команда.

    Например, чтобы запустить команду Linux в окне командной строки или PowerShell, вы можете выполнить следующую команду:

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

    Этот прием позволяет добавлять команды Bash в командные файлы или сценарии PowerShell. Окно оболочки Bash появится при запуске команды Bash.

    Обновить: Если у вас установлено несколько сред Linux, вы можете использовать команду wslconfig, чтобы выбрать среду Linux по умолчанию, используемую при запуске Баш-с команда.


    Чтобы создать ярлык для скрипта Bash из Windows, просто создайте ярлык, как обычно. Для цели ярлыка используйте Баш-с Команду мы обрисовали в общих чертах выше и наведите на скрипт Bash, который вы создали.

    Например, вы бы указали ярлык на bash -c "~ / myscript.sh" », Чтобы запустить пример сценария выше. Вы также можете просто запустить эту команду из командной строки или окна PowerShell..