Домашня » як » Створення та запуск скриптів 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 Conversion> UNIX / OSX Format.

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

    Наприклад, щоб створити сценарій 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 # встановити змінну STRING STRING = "Вітаємо, світ!" # друкувати вміст змінної на екрані 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: User Bob, завантаження файлу test.txt, вам слід вказати шлях /mnt/c/Users/Bob/Downloads/test.txt. Для більш детальної інформації зверніться до нашого посібника з розміщення файлів в оболонці Windows 10.

    Як включити команди Bash у сценарій Пакетний або PowerShell

    Нарешті, якщо у вас є існуючий пакетний файл або сценарій 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.