Monday, September 4, 2023

~~~~ Котиков (с мурашиками) в ленту! 😸✌ ~~~~


В этом видео рассмотрим частую задачу, возникающую при программировании на BASH. Это задача обмена данными между скриптами, написанными на BASH.

Функции на BASH. Как передать значение скрипту BASH и получить значение переменной из скрипта BASH?

Часть требуется не просто линейное выполнение команд, а какие-то компоненты, которые можно запускать из разных частей кода, которые могут: 
1. Просто что-то выполнять и потом возвращать управление в основной скрип на BASH, который их вызвал. (Выполнение без приёма входных параметров и передачи полученных данных.) 
2. Получать параметры при их вызове, используя их в своей работе. 
3. Выполнять какие-то вычисления и преобразования, при этом возвращая управление в скрипт BASH, их вызвавший, значения полученных в результате работы переменных. 
 
Решить эти задачи оказывается важным, если требуется многократное выполнение однотипного кода из разных частей программы. И конечно, часто бывает важно принять полученные данные из отработавшего скрипта BASH (и желательно напрямую в виде значений переменных, а не через текстовые файлы). 
 
Также бывает важно запускать один и тот же кусок кода, но с разными параметрами. И тогда возникает необходимость в передаче вызываемому скрипту, написанному на BASH входных параметров, которые он сможет использовать при выполнении своей программы. 
 
В начал видео производим дополнительные действия, автоматизируя часть работы с запуском написанных программ на BASH. 
 
При создании ролика были допущены ошибки в коде (которые я потом убрал), но не стал вырезать эту часть (чтобы было понятно, как вообще пишутся реальные программы). Комментарии в процессе видео, подскажут путь решения возникших ошибок, если кто-то столкнётся с подобными ошибками: при операции присваивания переменной значения НЕЛЬЗЯ ставить пробелы до и после знака =, иначе интерпретатор воспринимает имя переменной в качестве команды, коей конечно переменная не является. И вываливается ошибка с сообщением, что команды с таким именем не найдено 
 
ПОЛЕЗНЫЕ ССЫЛКИ НА СТАТЬИ С ПОДРОБНЫМИ ИНСТРУКЦИЯМИ: 
 
1. Статьи по программированию на Bash - https://mb4.ru/programming/bash.html 
2. Статьи по Unix (на примере Debian) -  https://mb4.ru/operating-system/unix.html
3. Статьи про PuTTY -  https://mb4.ru/programms/programs-for-hosting/putty.html
4. Для тех, кто решил взять себе собственный сервер -  https://mb4.ru/hosting/firstvds.html
 
Для сотрудничества: https://mb4.ru/support.html

Labels: , , , , , , , , , ,

Saturday, September 2, 2023

~~~~ Бесплатный мастер-класс! Основы BASH. 🤠✌ ~~~~

Котиков в ленту! 🤠✌

Основы BASH. Бесплатный мастер-класс

Это третье занятие в Веб-[ло]мастреской. Возвращаемся на сервер и начинаем писать свой первый скрипт на BASH. В итоге должен получиться шаблон интерактивного скрипта на BASH, в который встроены переходы на отдельные списки скриптов и переходы между Главным меню и страницами с возможностью запуска различных программ по управлению и настройками выделенного сервера из консоли (командной строки).

Содержание:

00:00 Проверка выполнения задания по основам HTML 
03:00 Задание к занятию по HTML 
06:11 Рекомендация: update и upgrade при заходе на сервер 
08:12 Постановка задачи по написанию BASH-скрипта 
09:48 Подготовка места размещения и файл для скрипта на BASH 
10:41 Создание первого скрипта на BASH 
12:43 Переходы из папки в папку из консоли Linux командой cd 
13:33 ls - команда просмотра содержимого директории 
14:04 Как нужно запускать скрипт на BASH из консоли 
14:45 Права доступа к файлам в Linux 
19:33 Кодировка файла в системах Linux 
21:17 echo - вывод текстовой информации в BASH 
22:09 clear - очистка экрана в BASH 
22:51 Комментарии в скриптах на BASH 
23:51 Настройка Notepad++ для работы с BASH 
27:45 read - чтение введённого с клавиатуру  в переменную BASH 
31:52 Служебные символы в текстовом выводе на BASH 
37:50 Константы в BASH 
39:53 Подготовка кода BASH для интерактивности скрипта 
41:51 if-fi - условия в скриптах BASH 
44:32 Защита от дурака в скриптах BASH 
45:01 Многоступенчатые условия в скриптах BASH 
47:37 sourse - подключение дополнительного файла с кодом BASH 
52:39 chmod -R - смена прав с рекурсией для всех скриптов во вложенных папках 
56:25 Задачи для самостоятельной работы к текущему занятию 
57:29 Для чего мы пишем этот скрипт на BASH 
1:02:23 План для следующего занятия 
1:04:30 Завершение, занавес, аплодисменты + лайки, комментарии и подписка ;) 
 
Задачи для самостоятельной работы к этому занятию: 
1. Вставить картинку на страницу. 
2. Сделать эту картинку ссылкой 
3. Проверить порядок хранения данных у себя на компьютере 
4. Создать файл с паролями к своему проекту 
5. Кодировка Unix в Notepad++ по умолчанию 
6. Первый bash-скрипт. 
 
Мои контакты тут: 
https://mb4.ru/support.html 😉

Labels: , , , ,

Monday, August 28, 2023

~~~~ ✌🤠 Первое занятие в Веб-[ло]мастерской 🤠✌ ~~~~

С самого начала достаточно глубокое погружение. Для тех, кто не в теме, - пугаться не надо того, что что-то не до конца ясно и прозрачно. 
 
По факту оказалось, что используется много новых названий, понятий и просто слов, которые ранее не использовались. Это нормально! В процессе погружения, а затем всплытия на поверхность с собственным работающим проектом, всё в конечном счёте станет понятно: 
 
Почему именно в такой последовательности? Что происходит? А можно сделать как-то проще? Есть ли другие варианты? Что делать, если?... И другие вопросы. Всё это обсудим, выясним, и, если нужно, расширимся и углубимся. 
 
Как принять участие в Веб-[ло]мастерской читаем в описании Плей-листа: https://youtube.com/playlist?list=PLnT9W2UZFxjlRtkt74qGngyUmMhzBFrYz

Для мальчишек и девчонок, а также их родителей... и прародителей, их породивших! =D
 
Моя партнёрская ссылка для заказа учебного сервера: 
https://firstvds.ru/?from=17960
 
Промокод, который нужно указывать при заказе: 
64817960

==== Отчёт о том, что было рассмотрено и изучено ==== 

00:00 Вступительная часть 
00:51 Примерный план на это занятие 
01:47 Как заказать учебный сервер 
03:42 Личный кабинет Веб-[ло]мастера на хостинге 
06:41 Как выбрать свободный домен для сайта 
08:39 Заказ виртуального сервера 
12:06 Формальные данные владельца сервера/домена 
13:44 Где брать пароли доступа к своему серверу 
17:22 PuTTY - программа для входа на сервер 
18:50 Как определить разряднось Windows 
22:50 Настройка PuTTY для работы с сервером 
28:47 Небольшое знакомство с Debian 
29:33 Установка NGiNX на сервер 
48:51 Установка дополнительного ПО на сервер 
50:57 Notepad++ 
56:30 Кириллица в NGiNX 
1:04:43 Планы на будущее 
1:14:40 Подведение итогов 
1:19:51 Мультик на позалипать =) 

==== Что нужно сделать к следующему занятию ==== 

1. Взять в аренду сервер по моей партнёрской ссылке. 
2. Установить PuTTY и настроить связь с сервером 
2.1* Разобраться, как настроить сервер так, чтобы он отдавал таблицы псевдографикой, а не шрифтами (тогда будет красиво в mc). Временная метка в видео 49:45 
3. Установить Notepad++ и настроить связь с сервером 
4. Установить и настроить NGiNX на сервер (включая настройку отображения кириллицы). 
5. Подобрать домен, но пока не покупать. (Не обязательно.) 
 
* п.2.1 если будет время и желание сделать это самостоятельно, а потом рассказать, как это сделать. 
 
В итоге: 
 
По IP в браузере будет выдаваться страничка, на которой будет написано что-то по-русски. Не важно что, главное, чтобы не кракозябликами. =) 

Labels: , , , , , , , , , , , , ,

Thursday, August 3, 2023

~~~~ Команда обновления ядра Debian ~~~~

А вообще конечно странно, почему в команды обновления ядра Debian не написана предварительная проверка того, влезет ли настройка новой конфигурации загрузки ОСи после того, как она попробует записаться в /boot партишэн.

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

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

Нафиг-нафиг. Сложно всё! Проще забабашить на bash костыль. Всё равно я своим скриптом пользуюсь чаще, чем выходят обновления ядра Unix

Горячий старт на просторы интернета

Так что он мне подскажет и даже покажет, где может быть эта собака зарыта и место её захоронения обложено граблями со всех точек. 👻

Ну и пытался я уже с комьюнити  Joomla взаимодействовать. Крутые все и устоявшиеся сообщества очень прохладно относятся ко всяким пришельца непрошенным. Сам такой , так что не жалуюсь, просто констатирую. 😜

Labels: , , ,

~~~~ Забабашим ка скрыптец ~~~~

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

Горячий старт на просторы интернета

И решается это довольно просто. Нужно контролировать свободное место на диске boot в Дебиан

Ну и, так как появилось окно времени между независящими от меня событиями, и все клиенты всё ещё в пучине праздника, то я вспомнил об этом (когда прилетает, 100% отшибает всю память и о том, что бажит, и как править)...

Так вот, пока есть время, решил дополнить свой bash скрыптец ещё парой функций:
1. Мониторинг свободного места на диске boot
2. Выдавать предупреждалку, что место заканчивается
3. В один клик всё это в диалоговом режиме заранее фиксить.

Поэтому...

Продолжение преследует! 🤠✌

Ещё столько всего интересного из команд #Unix нужно повспоминать, поизучать и поприкручивать! 🥳🎄

Labels: , ,

Thursday, July 27, 2023

~~~~ Космо-новость (продолжение) ~~~~

Как обычно, в мире [программирования] произошёл эволюционный скачок, а ни один из новостных каналов, на которые я подписан, даже не пикнул! 😜

В общем, дело обстоит так: вышла стабильная версия 8.2 php ... И всё веселье в том, что меня в очередной раз переклинило и я полез ломать свой Debian на сервере.

И вот он то и выдал две цифры с точкой 8.2 в одном месте. Дальше всё просто: официальный сайт, apt install, обновление кода моего самописного скрипта автоматизации на BASH и... после непродолжительного дауна и ковырялочек с пританцовочками под бубен, https://mb4.ru/ и https://iloverealty.ru/ работают на новой версии php-fpm... А остальные проекты пока надо вытягивать за уши, удаляя старые расширения и наводя марафет с моим новым шаблоном.

В общем, всё снова работает (и лучше прежнего). 🤠✌🏻

P.S. Заодно снёс с сервера php 8.0 ... всё равно её уже ни к чему не планируется подцеплять (в отличие от php 7.4, которая тянет всю устаревшую рухлядь).

Labels: , ,