Что же такое “bash” и как создаются скрипты. В этой статье мы разберем основы которые должен знать каждый linux-пользователь.
Что такое bash
Bash — это командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом (или сценарием). Как и все Unix-оболочки, он поддерживает автодополнение имён файлов и директорий, подстановку вывода результата команд, переменные, контроль за порядком выполнения, операторы ветвления и цикла. Ключевые слова, синтаксис и другие основные особенности языка были заимствованы из sh. Другие функции, например, история, были скопированы из csh и ksh. Bash в основном удовлетворяет стандарту POSIX, но с рядом расширений.
Название «bash» является акронимом от Bourne-again-shell («ещё-одна-командная-оболочка-Борна») и представляет собой игру слов: Bourne-shell — одна из популярных разновидностей командной оболочки для UNIX (sh), автором которой является Стивен Борн (1978), усовершенствована в 1987 году Брайаном Фоксом. Фамилия Bourne (Борн) перекликается с английским словом born, означающим «родившийся», отсюда: рождённая-вновь-командная оболочка.
Что такое script
Сценарный язык или script (язык сценариев, скриптовый язык, от англ. scripting language) — высокоуровневый язык сценариев (script) — кратких описаний действий, выполняемых системой. Сценарий — это программа, имеющая дело с готовыми программными компонентами.
Как создать script
Для создания скрипта не потребуется много усилий, но чтобы написать сценарий(программу), то потребуется изучать дополнительную литературу.
Мы рассмотрим самую основу написания скриптов, итак приступим, но если вы не знаете что такое терминал и как им пользоваться то вам сюда.
В самом начале чтобы писать скрипты нам нужно создать каталог для наших скриптов и файл куда мы будем все писать, для этого открываем терминал и создаем каталог
mkdir my_script
Переходим в только-что созданную директорию
cd my_script
И создаем файл
sudo gedit script.sh
у нас откроется текстовый редактор gedit, я люблю больше vim, но у вас он больше всего не будет установлен, поэтому показываю на стандартном.
Итак для того чтобы система понимала что используется bash, в начале файла нужно прописать
#!/bin/bash
и далее пишем команды которые хотите чтобы он выполнял. В моем примере я создам скрипт обновления системы, запишу в этот файл
sudo apt update;
sudo apt full-upgrade;
Сохраняем наш скрипт и закрываем
Так как права на запуск по-умолчанию отсутствуют то добавляем командой
chmod +x /home/fox/my_script/script.sh
Все наш скрипт готов, можно и запускать, но я бы хотел создать ярлык запуска, так же как и обычное приложение. Для этого идем в интернет и качаем любую png картинку, что соответствует нашему скрипту
Я нашел вот такую
Теперь переходим в директорию где у нас лежат ярлыки всех приложений
cd /usr/share/applications/
и создаем новый файл приложения
sudo gedit update_system.desktop
и прописываем такие строчки
[Desktop Entry]
Name=
Comment=
GenericName=
Keywords=
Exec=
Terminal=true
Type=Application
Icon=
Path=
Categories=
NoDisplay=false
Что все эти строки означают?
Name– имя приложения, которое будет отображаться под иконкой в Главном меню
Keywords– слова, по которым будет искаться данный ярлык в Главном меню
Exec– строка запуска приложения
Terminal– (true или false)- запускать или нет приложение в окне терминала
Type– определяет «раздел» в Главном меню, где будет находится ярлык приложения
Icon– путь к иконке
Path– путь к рабочему каталогу приложения
Categories– категории, к которым будет относится ярлык вашего приложения при выборе в Главном меню фильтров.
NoDisplay(true или false)- Не отображать иконку в Главном меню(если true)
Заполняем обязательные поля
Сохраняем и закрываем
теперь ищем наше так называемое “приложение для обновления системы” в главном меню запускаем и вводим пароль
Как видим наш скрипт успешно отработал.
Для более углубленного изучения материала, прочтите статью “Написание скриптов на bash“.
А вот и видео, там все наглядно показано
Большое спасибо за описание! Так просто оказалось. Везде так заумно объясняют, замучился просто искать нормальное объяснение. Удачи, дружище!