У Linux файли, що мають розширення імені файлу .sh, зазвичай є скриптами оболонки, які є програмами, які інтерпретуються командними оболонками. У скриптах оболонки не потрібно мати розширення імені файлу. Фактично, їх можна назвати взагалі. Однак з історичних причин вони часто мають розширення .sh .
Створення виконуваних сценаріїв оболонки
Сценарії оболонки повинні бути позначені як виконувані, перш ніж їх можна запустити. Ви можете перевірити дозволи файлу, також відомий як режим файлу, переглядаючи довгий список каталогів з командою ls -l . Якщо ви вказали ім'я файлу, ви отримаєте інформацію тільки для цього файлу. Наприклад, у нас є файл, який називається somefile, і ми переглядаємо дозволи з командою ls -l somefile :
Десять символів " -rw-r - r-- " представляють режим файлу somefile . Для отримання додаткових відомостей про права доступу до файлів див. Розділ Що таке дозволи та як вони працюють?
Тут режим файлу вказує, що ми можемо читати і писати деякі файли, але не можемо його виконати. Ми можемо встановити дозвіл на виконання за допомогою команди chmod, яка змінює режим файлу:
Команда chmod u + x somefile встановлює біт дозволу на виконання для власника файлу. Ви можете бачити, що лінійка дозволу тепер має x на четвертому місці, що представляє права власника на виконання файлу. Також зверніть увагу на те, що ім'я файлу вказано в кольорі (тут воно показано зеленим кольором). Колір може бути різним у вашій системі, але багато дистрибутивів Linux налаштовані на вказівку виконуваних файлів за допомогою окремого кольору під час запуску команди ls .
Цей процес можна виконати для будь-якого файлу сценарію .sh, який може знадобитися для виконання. Наприклад, якщо ви пишете користувальницький скрипт і назвіть його myscript.sh, вам слід запустити chmod u + x myscript.sh, перш ніж спробувати його запустити.
Виконання сценарію з командного рядка
Щоб виконати сценарій оболонки, потрібно вказати ім'я шляху скрипту в командному рядку. Наприклад, якщо сценарій називається install.sh і він знаходиться у вашій робочій директорії, ви можете запустити його за допомогою наведеної нижче команди.
./install.sh
Наведені вище команди повідомляють оболонку, "виконайте файл install.sh, який знаходиться в поточному каталозі". Якщо install.sh знаходиться в каталозі myscripts у вашому домашньому каталозі, ви можете запустити його з командою нижче.
~ / myscripts / install.sh
Примітка: Вкажіть шлях до файлу сценарію (а не просто вводити inshall.sh, наприклад) як міру безпеки: оболонка хоче переконатися, що він виконує правильний файл install.sh, тому він вимагає вказати його точний Розташування.
Єдиним виключенням є те, що ваш скрипт знаходиться в каталозі, вказаному в змінному середовища PATH вашої системи. Якщо це було так, ви можете виконати файл, виконавши команду install.sh .