Как создать файл оболочки и сделать его исполняемым

Обновлено: 30.06.2024

Сценарий оболочки – это последовательность команд, которую вы часто используете. Эта последовательность обычно выполняется путем ввода имени сценария в командной строке. Кроме того, вы можете использовать сценарии для автоматизации задач с помощью средства cron. Сценарии также используются в процедурах загрузки и завершения работы UNIX, где работа демонов и служб определяется в сценариях инициализации.

Чтобы создать сценарий оболочки, откройте новый пустой файл в редакторе. Подойдет любой текстовый редактор: vim, emacs, gedit, dtpad и так далее. Однако вы можете выбрать более продвинутый редактор, такой как vim или emacs , потому что они могут быть настроены на распознавание синтаксиса оболочки и Bash и могут быть отличным подспорьем в предотвращении тех ошибок, которые часто делают новички, таких как забывание скобок и точек с запятой. .

Подсветка синтаксиса в vim

Чтобы активировать подсветку синтаксиса в vim, используйте команду

Вы можете добавить этот параметр в файл .vimrc, чтобы сделать его постоянным.

Поместите команды UNIX в новый пустой файл, как если бы вы вводили их в командной строке. Как обсуждалось в предыдущей главе (см. Раздел 1.3), команды могут быть функциями оболочки, встроенными функциями оболочки, командами UNIX и другими сценариями.

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

который - имя_сценария

В этом примере мы используем встроенную функцию echo Bash, чтобы информировать пользователя о том, что должно произойти, до того, как будет выполнена задача, создающая выходные данные. Настоятельно рекомендуется информировать пользователей о том, что делает скрипт, чтобы они не нервничали из-за того, что скрипт ничего не делает. Мы вернемся к теме уведомления пользователей в главе 8.

Рисунок 2-1. script1.sh

Напишите этот сценарий и для себя. Может быть хорошей идеей создать каталог ~/scripts для хранения ваших скриптов. Добавьте каталог к ​​содержимому переменной PATH:

экспорт PATH varname" >$PATH : ~/scripts "

Если вы только начинаете работать с Bash, используйте текстовый редактор, в котором для разных конструкций оболочки используются разные цвета. Подсветка синтаксиса поддерживается vim, gvim, (x)emacs, kwrite и многими другими редакторами; проверьте документацию вашего любимого редактора.

Различные подсказки

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

willy:~/scripts> chmod u+x script1.sh willy:~/scripts> ls -l script1.sh -rwxrw-r-- 1 willy willy 456 24 декабря 17:11 script1.sh willy:~> script1.sh Сценарий запускается. Привет, Вилли! Теперь я принесу вам список подключенных пользователей: 15:38 до 18 дней, 17:37, 4 пользователя, средняя нагрузка: 0,12, 0,22, 0,15 ПОЛЬЗОВАТЕЛЬ TTY ОТ LOGIN@ IDLE JCPU PCPU WHAT root tty2 - Sat 14:00 4:25m 0,24 с 0,05 с -bash willy :0 - Сб 14:00 ? 0,00 с? - willy pts/3 - сб 14:00 3:33 36,39 36,39 BitchX willy ir willy pts/2 - сб 14:00 3:33 0,13 0,06 с /usr/bin/screen Сейчас я устанавливаю две переменные. Это строка: black А это число: 9 Сейчас я возвращаю вам вашу подсказку. willy:~/scripts> echo $COLOUR willy:~/scripts> echo $VALUE willy:~/scripts>

Это наиболее распространенный способ выполнения скрипта. Такой сценарий предпочтительно выполнять в подоболочке. Переменные, функции и псевдонимы, созданные в этой подоболочке, известны только конкретному сеансу bash этой подоболочки. Когда эта оболочка завершается и родительский контроль восстанавливается, все очищается и все изменения состояния оболочки, сделанные сценарием, забываются.

Если вы не поместили каталог scripts в свой PATH и . (текущий каталог) также отсутствует в ПУТИ, вы можете активировать скрипт следующим образом:

Сценарий также может быть явно запущен данной оболочкой, но обычно мы делаем это только в том случае, если хотим получить особое поведение, например, проверить, работает ли сценарий с другой оболочкой, или распечатать трассировку для отладки:

bash -x имя_скрипта.sh

Указанная оболочка запустится как подоболочка вашей текущей оболочки и выполнит сценарий. Это делается, когда вы хотите, чтобы сценарий запускался с определенными параметрами или при определенных условиях, которые не указаны в сценарии.

Если вы не хотите запускать новую оболочку, а выполняете скрипт в текущей оболочке, вы создаете его:

Встроенный исходный код Bash является синонимом оболочки Bourne. (точка) команда.

В этом случае скрипту не требуется разрешение на выполнение. Команды выполняются в текущем контексте оболочки, поэтому любые изменения, внесенные в вашу среду, будут видны, когда скрипт завершит выполнение:

willy:~/scripts> источник script1.sh --output опущен-- willy:~/scripts> echo $VALUE 9 willy:~/scripts>

У меня есть файл script.sh, тип этого файла — файл shellscript. Я хочу сделать этот файл исполняемым файлом application/x. Как я могу это сделать?

Это не дубликат, потому что я специально просил сделать его application/x-executable. Другой вопрос просто требует открытия файла sh в терминале.

4 ответа 4

Вы можете пометить файл как исполняемый:

Затем вы можете выполнить его следующим образом:

Если вы хотите использовать другую команду для запуска, вы можете добавить псевдоним:

Добавьте это в конец файла:

Откройте новый сеанс терминала или введите source ~/.bashrc в своем терминале, чтобы применить. Затем просто используйте новое имя для запуска скрипта.

Знаете ли вы, как использовать команду sudo после ввода команды в виде: "alias command1 = '/home/user_name/dir/script.sh'. В моем случае это работает без sudo, но не с ним.

Существует два способа сделать исполняемый файл:

Метод графического интерфейса:

Щелкните файл правой кнопкой мыши и выберите "Свойства". Перейдите на вкладку разрешений, затем установите флажок «Выполнить»: [ ] Разрешить выполнение файла как программы или в программе Nautilus: [ ] Разрешить запуск этого файла как программы в Thunar.

введите здесь описание изображения

Метод терминала/команды:

Вы можете использовать:

chmod +x имя_файла.расширение

chmod +x /path/to/your/filename.extension

chmod также имеет некоторые дополнительные параметры:

Пробелы должны показывать, что он разделен: - rwx --- ---

Первый набор --- это User. Второй — Группа, а последний — Другой (любой другой)

r означает чтение, w — запись, а x — выполнение.

Таким образом, разрешить всем читать его, но только группе для выполнения и пользователю для чтения и записи (но по какой-то причине не выполнять) будет:

-rw- rx- r-- Но это будет добавлено к команде как:

chmod +rw-rx-r-- /path/to/file.extension

chmod также может делать это в цифрах. Он основан на бинарности (думаю, что и 1,2 и 4)

Итак, вот эти числа:

Выполнение пользователем равно 100 . Выполнить по группе 010 . Выполнить другим — 001 .

Запись пользователем составляет 200 . Запись по группе 020 . Написать другим — 002 .

Прочитано пользователем 400 . Чтение по группе 040 . Прочитано другим — 004 .

Затем вы складываете их вместе, чтобы получить желаемую комбинацию.

Таким образом, разрешить всем читать его, но только Группе для выполнения и Пользователю для записи (но по какой-то причине не выполнять) будет:

400 + 040 + 004 и 010 и 200

В сумме получается 600 + 050 + 004 = 654.

Тогда вы можете запустить команду.

chmod +654 /path/to/file.extension, чтобы установить его.

И чтобы установить все разрешения, которые вы можете ввести:

chmod +rwxrwxrwx /path/to/file.extension

Или (это немного проще написать, но сложнее запомнить каждое):

Наконец, вы можете сделать следующее:

chmod -777 /path/to/file.extension

Чтобы лишить всех разрешений.

chmod +300 /path/to/file.extension

Чтобы добавить чтение и запись для пользователя, не затрагивая другие разрешения (например, разрешения на выполнение).

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

введите здесь описание изображения

Однако не все возможные комбинации целесообразно использовать; основные из них используются следующие:

Shell Scripting — это компьютерная программа с открытым исходным кодом, предназначенная для запуска в оболочке Unix/Linux. Shell Scripting — это программа для написания серии команд для выполнения оболочкой. Он может объединять длинные и повторяющиеся последовательности команд в единый и простой сценарий, который можно сохранить и выполнить в любое время, что сокращает усилия по программированию.

Это учебное пособие по написанию сценариев оболочки помогает получить базовое представление о программе создания сценариев оболочки Linux/Unix, а также более сложные концепции сценариев оболочки. Этот учебник по сценариям оболочки предназначен для начинающих и профессионалов, которые хотят узнать, что такое сценарии оболочки? Как работают сценарии оболочки, типы оболочек и многое другое.

Что такое Shell?

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

Операция состоит из многих компонентов, но два ее основных компонента —

Ядро — это ядро ​​компьютера. Это делает возможной связь между аппаратным и программным обеспечением. Ядро — это самая внутренняя часть операционной системы, а оболочка — самая внешняя.

Оболочка в операционной системе Linux получает от вас данные в виде команд, обрабатывает их и выдает результат. Это интерфейс, через который пользователь работает с программами, командами и сценариями. Доступ к оболочке осуществляется через терминал, который ее запускает.

Когда вы запускаете терминал, оболочка выдает командную строку (обычно $), где вы можете ввести свой ввод, который затем выполняется, когда вы нажимаете клавишу Enter. Вывод или результат после этого отображаются на терминале.

Оболочка обволакивает нежную внутреннюю часть операционной системы, защищая ее от случайного повреждения. Отсюда и название Шелл.

Это руководство по сценариям оболочки Unix/Linux помогает понять основы сценариев оболочки до продвинутого уровня.

В этом учебном пособии по сценариям оболочки вы узнаете:

Нажмите здесь, если видео недоступно

Типы оболочки

В Linux есть две основные оболочки:

<р>1. Оболочка Bourne: приглашение для этой оболочки — $, и его производные перечислены ниже:

  • Оболочка POSIX также известна как sh
  • Korn Shell также известен как sh
  • Bourne Again SHell также известен как bash (наиболее популярный)
  • Оболочка C также известна как csh
  • Оболочка Tops C также известна как tcsh

В этом руководстве мы обсудим сценарии оболочки на основе оболочки bash.

Как написать сценарий оболочки в Linux/Unix

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

Давайте разберемся с этапами создания сценария оболочки:

Давайте создадим небольшой скрипт –

Давайте рассмотрим шаги по созданию программ сценариев оболочки в Linux/Unix –

Шаги по созданию сценария оболочки в Linux/Unix

Команда ‘ls’ выполняется, когда мы запускаем файл sample.sh скрипта.

Добавление комментариев оболочки

Комментирование важно в любой программе. В программировании оболочки синтаксис для добавления комментария:

Позвольте понять это на примере.

Введение в сценарии оболочки

Что такое переменные оболочки?

Как обсуждалось ранее, переменные хранят данные в виде символов и чисел. Точно так же переменные оболочки используются для хранения информации, и они могут использоваться только оболочкой.

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

Ниже приведен небольшой скрипт, который будет использовать переменную.

Давайте разберемся, шаги по созданию и выполнению скрипта

Введение в сценарии оболочки

Как видите, программа выбрала значение переменной «имя» как «Радость», а «примечание» — как «отлично».

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

Введение в сценарии оболочки

Обзор:

  • Ядро — это ядро ​​операционной системы, обеспечивающее связь между аппаратным и программным обеспечением.
  • Shell – это программа, которая интерпретирует пользовательские команды через интерфейс командной строки, например Терминал.
  • Оболочка Bourne и оболочка C являются наиболее часто используемыми оболочками в Linux.
  • Сценарий оболочки Linux записывает серию команд для выполнения оболочкой
  • Переменные оболочки хранят значение строки или числа для чтения оболочкой.
  • Сценарии оболочки в Linux могут помочь вам создавать сложные программы, содержащие условные операторы, циклы и функции
  • Основные команды сценариев оболочки в Linux: cat, more, less, head, tail, mkdir, cp, mv, rm, touch, grep, sort, wc, cut и другие.

Компания Acunetix, разработчик сверхточных сканеров безопасности веб-приложений, спонсировала проект Guru99, помогая точно и с максимальной скоростью сканировать более 4500 веб-уязвимостей.


Как сделать скрипт bash исполняемым откуда угодно?

  1. Сделайте сценарии исполняемыми: chmod +x $HOME/scrips/* Это нужно сделать только один раз.
  2. Добавьте каталог, содержащий сценарии, в переменную PATH: >

Как запустить файл .sh автоматически?

  1. Запустите тестовый скрипт без cron, чтобы убедиться, что он действительно работает.
  2. Убедитесь, что вы сохранили свою команду в cron, используйте sudo crontab -e.
  3. Перезагрузите сервер, чтобы убедиться, что все работает sudo @reboot.

Как сделать исполняемый файл в Linux?

Что такое файл .sh?

sh-файлы — это исполняемые файлы оболочки unix (linux), они эквивалентны (но гораздо более эффективны) файлам bat в Windows. Поэтому вам нужно запустить его из консоли Linux, просто набрав его имя так же, как вы делаете это с bat-файлами в Windows.

Что означает sh в Linux?

sh означает «оболочка», а оболочка — это старый, похожий на Unix интерпретатор командной строки. Интерпретатор — это программа, которая выполняет определенные инструкции, написанные на языке программирования или языке сценариев. По сути, вы говорите: «Выполните этот файл для меня».

Как запустить скрипт из командной строки?

  1. В меню "Пуск": ПУСК > ВЫПОЛНИТЬ c:path_to_scriptsmy_script.cmd, ОК.
  2. «c:путь к scriptsmy script.cmd»
  3. Откройте новое приглашение CMD, выбрав ПУСК > ВЫПОЛНИТЬ cmd, ОК.
  4. В командной строке введите имя скрипта и нажмите клавишу возврата.

Как запустить скрипт?

  1. Создайте ярлык для Google Analytics.
  2. Щелкните ярлык правой кнопкой мыши и выберите "Свойства".
  3. В поле "Цель" введите соответствующий синтаксис командной строки (см. выше).
  4. Нажмите "ОК".
  5. Дважды щелкните ярлык, чтобы запустить скрипт.

Как создать путь к исполняемому файлу в Linux?

  1. Создайте папку bin в своем домашнем каталоге. …
  2. Добавьте ~/bin в PATH для всех сеансов Bash (оболочка по умолчанию, используемая внутри терминала). …
  3. Добавьте либо сами исполняемые файлы, либо символические ссылки на исполняемый файл в ~/bin.

Как сделать скрипт Python исполняемым в Linux?

Как запустить скрипт из любой точки Linux?

  1. Создайте себе каталог $HOME/bin . Поместите в него все ваши исполняемые скрипты (сделайте их исполняемыми с помощью скрипта chmod +x, если необходим). …
  2. Добавьте $HOME/bin в PATH . Я поместил свой впереди: PATH="$HOME/bin:$PATH , но вы можете поместить его сзади, если хотите.
  3. Обновите файл . профиль или .

Как запустить файл .sh в Windows?

Выполнить файлы сценариев оболочки

Откройте командную строку и перейдите в папку, в которой находится файл сценария. Введите Bash script-filename.sh и нажмите клавишу ввода. Он выполнит скрипт, и в зависимости от файла вы должны увидеть вывод.

Что такое локальный RC в Linux?

Скрипт /etc/rc. local предназначен для использования системным администратором. Традиционно выполняется после запуска всех обычных системных служб, в конце процесса перехода на многопользовательский уровень выполнения. Вы можете использовать его для запуска пользовательской службы, например сервера, установленного в /usr/local.

Где находится файл crontab?

Файлы crontab хранятся в /var/spool/cron/crontabs. Во время установки программного обеспечения SunOS предоставляется несколько файлов crontab, помимо root (см. следующую таблицу). Помимо файла crontab по умолчанию, пользователи могут создавать файлы crontab для планирования собственных системных событий.

Как создать сценарий оболочки в Linux

Вы хотите создать сценарий оболочки в своей системе Linux?

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

Но прежде чем перейти к созданию сценария оболочки, давайте разберемся, что такое сценарии оболочки в Linux.

Что такое сценарии оболочки в Linux?

Итак, что такое сценарии Shell?

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

Длинные и повторяющиеся команды обычно объединяются в простой командный сценарий. Вы можете сохранить этот скрипт и выполнять его при необходимости.

Сценарии оболочки в Linux упрощают программирование.

Способы создания простого сценария оболочки в Linux

Создать простой сценарий оболочки в Linux очень просто. Вы можете сделать это, используя несколько текстовых редакторов.В этом руководстве показано, как создать сценарий оболочки двумя разными способами, например 1) с использованием текстового редактора по умолчанию и 2) с помощью инструмента текстового редактора Vim.

Способ 1. Использование текстового редактора по умолчанию

Чтобы создать сценарий оболочки с помощью текстового редактора по умолчанию, просто выполните шаги, указанные ниже.

Шаг 1. Создайте текстовый файл с расширением «.sh». Затем введите простой скрипт.

Shell Script testing.sh

Шаг 2. Теперь не меняйте каталог. И откройте терминал. С помощью приведенной ниже команды предоставьте исполняемый доступ к созданному файлу.

Шаг 3. Выполните указанный ниже скрипт в терминале:

Это был простой метод создания сценария оболочки в Linux с использованием редактора по умолчанию. Теперь давайте рассмотрим следующий метод.

Способ 2. Использование текстового редактора Vim

Инструмент текстового редактора Vim — это инструмент, который помогает создавать сценарии оболочки в системе Linux. Если он у вас еще не установлен, используйте команду для установки Vim:

Теперь следуйте инструкциям по созданию сценария оболочки с помощью этого инструмента.

Шаг 1. Чтобы открыть редактор, просто введите:

Шаг 2. Войдя, откройте терминал. Затем создайте файл bash через:

После выполнения команды редактор будет выглядеть так, как показано ниже.

Сценарий оболочки для создания редактора Bash

Шаг 3. Нажмите «i» на клавиатуре и войдите в режим вставки. Теперь введите в него следующие команды.

Шаг 4. Нажмите «Esc», чтобы выйти из этого режима. Затем введите «:w», чтобы сохранить скрипт.

После сохранения сценарий оболочки будет выглядеть так, как показано ниже.

Редактор сохранения сценариев оболочки

Шаг 5. Вернувшись в консоль, введите «:q». Тогда напишите:

Приведенная выше команда выполнит файл оболочки и отобразит вывод в терминале.

Добавление комментариев в оболочке

В редакторе Vim откройте текстовый файл. И напишите комментарий, как показано ниже.

Использование переменных оболочки

Переменные — это значения, которые могут хранить информацию в виде чисел и символов. Точно так же переменные оболочки также могут хранить данные. Например,

В приведенных выше строках будет создана переменная оболочки «var», а затем она будет напечатана.

Давайте сейчас напишем небольшой скрипт.

Чтобы получить значение переменной, выполните приведенную ниже команду.

Давайте напишем еще один скрипт, используя переменную.

Запустите файл сценария и введите «имя» как «Робин».

По мере ввода скрипт считывает имя и отвечает:

Затем введите «замечание» как «хорошее». И вы заметите, что сценарий повторяет замечание.

Вторая строка приведенного выше набора кодов показывает ответ скрипта.

Это были простые сценарии оболочки. Вы можете писать расширенные сценарии, содержащие циклы, функции и условные операторы. Сценарии оболочки упростят администрирование Linux.

Заключение

В этой статье вы научились создавать простой сценарий оболочки. Теперь вы можете создавать свои собственные скрипты в Linux, следуя вышеупомянутым методам и советам.

Супарна — независимый писатель, который пишет о Linux, включая советы, рекомендации и инструкции.

Читайте также: