Как отлаживать bash-noscript-ы по шагам
Мне всегда хотелось иметь возможность отлаживать bash-noscripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после #!/bin/bash, чтоб скрипт можно было отлаживать по шагам
Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем
Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо Ctrl+C
переменная окружения
👉 @sysadminof
Мне всегда хотелось иметь возможность отлаживать bash-noscripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после #!/bin/bash, чтоб скрипт можно было отлаживать по шагам
#!/bin/bash
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем
Ctrl+C и выходим из отладки.Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо Ctrl+C
переменная окружения
$BASH_COMMAND, валидная внутри обработчика команды trap.# Online Bash Shell.
# Code, Compile, Run and Debug Bash noscript online.
# Write your code in this editor and press "Run" button to execute it.
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3
echo "Hello World";👉 @sysadminof
👍12
12 горячих клавиш Linux для пользователей
Tab. Самая простая и полезная клавиша, без которой Linux-системы становятся гораздо менее удобными. При вводе команды, имени файла или каталога нажмите Tab, и система автоматически допишет набираемую команду или предложит вам все возможные варианты.
Ctrl + Alt + T. Используется для быстрого запуска терминала.
Ctrl + C. Используется для немедленной остановки запущенной программы, выхода из команды или процесса на терминале.
Super + L или Ctrl + Alt +L. Используется для быстрой блокировки экрана. Чтобы не тратить время на поиск иконки для блокировки экрана используйте комбинацию с клавишей Super (клавиша со значком Windows).
Ctrl + D. Используется для выхода из текущего терминала и закрытия SSH-соединения Эта комбинация клавиш выведет вас из текущего терминала. Если вы используете соединение SSH, оно будет закрыто. Если вы используете терминал напрямую, приложение будет немедленно закрыто. Фактически это «Exit».
Ctrl + L. Позволяет быстро очистить экран терминала, заменяя команду CLEAR.
Ctrl + A и Ctrl + E. Используется для быстрого перемещения в начало и конец строки. Удобно, когда используется длинная команда или путь в терминале, а мышью воспользоваться нельзя.
Ctrl + U и Ctrl + K. Используется для быстрого удаления команд от текущей позиции курсора до начала или конца строки. Ctrl + W удаляет одно слово, предшествующее позиции курсора.
Ctrl + Y. Вставляет текст, который вы только что удалили с помощью Ctrl + W, Ctrl + U и Ctrl + K. Может использоваться для отмены удаления или использования этого текста в другом месте.
Ctrl + O. Используется, чтобы выполнить команду, оставив её в командной строке для дальнейшего использования.
Ctrl + P и Ctrl + N. Используется для выбора предыдущей и следующей команды в истории bash.
Super. Используется, чтобы запустить приложение, которое не можете найти. Нажмите клавишу Super key и введите название нужного приложения в поле для поиска.
👉 @sysadminof
Tab. Самая простая и полезная клавиша, без которой Linux-системы становятся гораздо менее удобными. При вводе команды, имени файла или каталога нажмите Tab, и система автоматически допишет набираемую команду или предложит вам все возможные варианты.
Ctrl + Alt + T. Используется для быстрого запуска терминала.
Ctrl + C. Используется для немедленной остановки запущенной программы, выхода из команды или процесса на терминале.
Super + L или Ctrl + Alt +L. Используется для быстрой блокировки экрана. Чтобы не тратить время на поиск иконки для блокировки экрана используйте комбинацию с клавишей Super (клавиша со значком Windows).
Ctrl + D. Используется для выхода из текущего терминала и закрытия SSH-соединения Эта комбинация клавиш выведет вас из текущего терминала. Если вы используете соединение SSH, оно будет закрыто. Если вы используете терминал напрямую, приложение будет немедленно закрыто. Фактически это «Exit».
Ctrl + L. Позволяет быстро очистить экран терминала, заменяя команду CLEAR.
Ctrl + A и Ctrl + E. Используется для быстрого перемещения в начало и конец строки. Удобно, когда используется длинная команда или путь в терминале, а мышью воспользоваться нельзя.
Ctrl + U и Ctrl + K. Используется для быстрого удаления команд от текущей позиции курсора до начала или конца строки. Ctrl + W удаляет одно слово, предшествующее позиции курсора.
Ctrl + Y. Вставляет текст, который вы только что удалили с помощью Ctrl + W, Ctrl + U и Ctrl + K. Может использоваться для отмены удаления или использования этого текста в другом месте.
Ctrl + O. Используется, чтобы выполнить команду, оставив её в командной строке для дальнейшего использования.
Ctrl + P и Ctrl + N. Используется для выбора предыдущей и следующей команды в истории bash.
Super. Используется, чтобы запустить приложение, которое не можете найти. Нажмите клавишу Super key и введите название нужного приложения в поле для поиска.
👉 @sysadminof
👍10💩1🌭1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Linux Commands for Beginners
01 - Introduction
02 - Setting up a Cloud Instance
03 - Setting up a Virtualbox Virtual Machine
04 - Navigating the Filesystem
05 - Basic File Editing
06 - Moving and Renaming Files
07 - The Bash Configuration File
08 - Command Aliases
09 - Understanding Permissions
10 - Checking Resource Usage
👉 @sysadminof
01 - Introduction
02 - Setting up a Cloud Instance
03 - Setting up a Virtualbox Virtual Machine
04 - Navigating the Filesystem
05 - Basic File Editing
06 - Moving and Renaming Files
07 - The Bash Configuration File
08 - Command Aliases
09 - Understanding Permissions
10 - Checking Resource Usage
👉 @sysadminof
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Sampler. Визуализация для любой команды shell
Инструмент для выполнения команд shell, визуализации и оповещения. Настраивается с помощью простого файла YAML.
Установка Linux
https://github.com/sqshq/sampler
👉 @sysadminof
Инструмент для выполнения команд shell, визуализации и оповещения. Настраивается с помощью простого файла YAML.
Установка Linux
sudo wget https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-linux-amd64 -O /usr/local/bin/sampler
sudo chmod +x /usr/local/bin/sampler
https://github.com/sqshq/sampler
👉 @sysadminof
👍5
Полезные команды Powershell для Active Directory
Получить всех пользователей AD в домене
Get-aduser -properties * -filter *
Модуль импорта Active Directory
Import-module activedirectory
Получить все компьютеры из домена
Get-adcomputer -properties * -filter *
Отключить пользователя AD по имени учетной записи SAM
Disable-ADaccount -identity "Name"
Экспорт данных в формат CSV
Get-adcomputer -properties * -filter * |export-csv "give path"
Получить имя учетной записи AD Groups SAM
Get-ADgroup -identity "provide group name"
Выбрать конкретный атрибут пользователя
Get-aduser -properties * -filter *
Получить информацию о домене
Get-ADdomain
Установите роль Active Directory
Install-windowsfeature AD-Domain-Services
Получить список контроллеров домена
Get-ADDomainController
👉 @sysadminof
Получить всех пользователей AD в домене
Get-aduser -properties * -filter *
Модуль импорта Active Directory
Import-module activedirectory
Получить все компьютеры из домена
Get-adcomputer -properties * -filter *
Отключить пользователя AD по имени учетной записи SAM
Disable-ADaccount -identity "Name"
Экспорт данных в формат CSV
Get-adcomputer -properties * -filter * |export-csv "give path"
Получить имя учетной записи AD Groups SAM
Get-ADgroup -identity "provide group name"
Выбрать конкретный атрибут пользователя
Get-aduser -properties * -filter *
Получить информацию о домене
Get-ADdomain
Установите роль Active Directory
Install-windowsfeature AD-Domain-Services
Получить список контроллеров домена
Get-ADDomainController
👉 @sysadminof
👍7👀1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Компьютерные сети с CISCO. Часть 1
УРОК 20 - Задаем Router-ID в OSPF
УРОК 21 - Настраиваем TELNET
УРОК 22 - Telnet через цепочку устройств
УРОК 23 - Способы обезопасить доступ по Telnet
УРОК 24 - Настраиваем доступ по SSH
УРОК 25 - Как использовать Cisco Packet Tracer "под санкциями"
УРОК 26 - Учимся раздавать Wi-Fi
УРОК 27 - Сеть Wi-Fi на предприятии, защита WEP и WPA
УРОК 28 - Списки доступа ACL (простые)
УРОК 29 - Расширенные списки доступа ACL extended
👉 @sysadminof
УРОК 20 - Задаем Router-ID в OSPF
УРОК 21 - Настраиваем TELNET
УРОК 22 - Telnet через цепочку устройств
УРОК 23 - Способы обезопасить доступ по Telnet
УРОК 24 - Настраиваем доступ по SSH
УРОК 25 - Как использовать Cisco Packet Tracer "под санкциями"
УРОК 26 - Учимся раздавать Wi-Fi
УРОК 27 - Сеть Wi-Fi на предприятии, защита WEP и WPA
УРОК 28 - Списки доступа ACL (простые)
УРОК 29 - Расширенные списки доступа ACL extended
👉 @sysadminof
🔥8😁1💩1