Язык shell в Linux

Регулярные выражения в Linux, язык shell, синтаксис, примеры


    Источники

    [:upper:] - Символы в верхнем регистре
    [^[:upper:]] - Кроме символов в верхнем регистре
    [:digit:] - Десятичные цифры
    [^- [:digit:]\(\)] - Кроме цифр, скобок, дефисов
    Перевод первого символа строки в верхний регистр:

    name=toly; echo $name | cut -c1 | tr '[:lower:]' '[:upper:]' echo 347.22 | cut -d. -f1 #получить значения слева от точки echo 347.22 | cut -d. -f2 #получить значения справа от точки

    Цикл работает пока num больше 5, в теле уменьшается число num:

    num=10; while [ $num -gt 5 ]; do echo $num; num=$(expr $num - 1); done

    #getops необходим для выполнения команды в зависимости от выбранной опции

    while getopts "a:b:" opt; do case $opt in a ) echo "Это опция a" ;; b ) echo "Это опция b" ;; esac done

    #Первый символ num, num без первого символа

    num=-1; echo "${num%${num#?}}"; echo "${num#?}";

    #Оставить в переменной все кроме цифр:

    echo $num | sed "s/[[:digit:]]//g"

    #1. Убрать все символы, кроме точки, 2. Вывод символов слева от точки, 3. Символы справа от точки:

    num=10.5; echo $num | sed 's/[^.]//g'; echo $num | cut -d. -f1; echo ${num#*\.}
    Замена вхождений с помощью утилиты tr

    Замена регистра:

    ~/bash_scripts$ echo "HeLlo" | tr '[:upper:]' '[:lower:]' hello ~/bash_scripts$ echo "HeLlo" | tr '[:lower:]' '[:upper:]' HELLO

    Если year не делится без остатка на 4, тогда...

    ~$ year=20; if [ "$((year % 4))" -ne 0 ] ; then echo echo 1; else echo 0; fi 0

    Разбить дату на день, месяц, год:

    ~$ date=10/07/2022; echo $date | cut -d/ -f1 10 ~$ date=10/07/2022; echo $date | cut -d/ -f2 07 ~$ date=10/07/2022; echo $date | cut -d/ -f3 2022

    Удалить из текста все знаки переноса:

    cat test.txt | tr -d '\n'

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

    bc << EOF $test $* quit EOF

    $OPTIND - это индекс следующего обрабатываемого аргумента which - выводит полный путь до файла скрипта команды

    Перебор аргументов
    #!/bin/bash for arg in "$@" do echo "${PREFIX}: $arg" if [ -f ${arg} ] ; then echo "${arg} is a file" fi #Либо использовать case done

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

    t@x:~$ echo "test=2" >> tinyscript.sh t@x:~$ chmod +x tinyscript.sh t@x:~$ test=1 t@x:~$ ./tinyscript.sh t@x:~$ echo $test 1 t@x:~$

    Если выполнить это сценарий подключением файла с помощью точки идентичной команде source (include в языке C)FD

    . tinyscript.sh

    Таким образом можно подключить библиотечный файл с готовыми функциями, сценариями в один из каталогов перечисленных в окружении PATH
    Для вывода отладочной информации используй bash -x script.sh
    Как вариант, можно использовать set -x перед началом выполнения скрипта и set +x после выполнения скрипта


    Получение случайного числа
    echo $RANDOM
    Вывод директорий из переменной $PATH
    $ IFS=":"; for directory in $PATH ; do echo $directory; done
    Источники
    Последнее изменение: 10.10.2024 05:18


    Связанные темы

    Что такое tty

    Конфигурация vsftpd в ОС Linux Ubuntu

    Передача аргументов по ссылке

    Установка и конфигурация samba в Linux

    Оптимизация запросов в Postgresql

    Оператор разрешения видимости в php

    Перечисления

    test1

    Типы данных в Postgresql

    Структура каталогов linux(Debian)

    Разделы диска Linux

    Ключевое слово static в php

    Позднее статическое связывание

    Модификация таблиц

    Язык программирования C в Linux

    Буферный кэш и журнал в Postgresql

    Установка и настройка MS SQL Server 2008 на Windows Server 2008 r

    Исключения

    Использование strace в Linux

    Очистка базы данных

    Шаблоны template в Postgresql

    Методы создания экземпляра класса в php

    Конфигурация сервиса SSHFS

    Проверка жесткого диска

    Команда exec linux

    Представления в Postgresql

    Значения по умолчанию

    Подзапросы в Postgresql

    Инструкция return в php

    Удаление файлов из bash linux с возможностью восстановления

    Использование команды tee в Linux

    Использование модуля pg_stat_statements в postgresql

    Поиск уязвимостей и следов взлома в Linux

    Транзакции в Postgresql

    Схемы в Postgresql

    Системный каталог в Postgresql

    Структура пакета deb

    Функции переменных в PHP

    Конфигурация openvpn сервера в Linux Alpine

    Dialog в Linux Alpine

    Конфигурация ssl в Nginx

    Конфигурация почтового сервера

    Создание Unit в Linux Ubuntu

    Использование iptables в linux

    Монтирование в linux

    Процессы и потоки в Linux

    Использование curl в Linux

    Табличные пространства в Postgresql

    Определение данных в Postgresql

    Изменение временной зоны в Postgresql

    Nginx content caching

    Балансировка нагрузки в Nginx

    Создание демона в среде Linux

    Сценарий инициализации в Linux

    Копирование в ssh

    Конфигурация nginx

    Адаптивная верстка

    Индексы в Postgresql

    Systemd в Linux

    Использование apt

    Менеджер пакетов dpkg

    Библиотеки Linux

    Анализ rdp

    Управление планировщиком в Postgresql

    Настройка swap в Linux

    Sysvinit в Linux Ubuntu

    Использование EXPLAIN

    Информация о системе

    Выполнение html и js кода в php

    Запросы в Postgresql

    Резервная копия postgresql

    Ядро Linux

    Основы тестирования

    История команд в Linux

    Использование md5sum

    Изменение данных в Postgresql

    Программирование на языке Assembler в Linux

    Основные команды psql и sql Postgresql

    Методы формирования соединений наборов строк

    Оптимизация производительности

    RabbitMQ

    Использование wget и curl в Linux

    ssh в Linux

    Возможности ssh в Linux

    Агрегирование и группировка в Postgresql

    Основные понятия реляционной модели

    Замыкание в PHP

    Присваивание объектов в php

    Автоматическая загрузка классов

    Команда chattr и lsattr в Linux

    Сброс пароля root в grub (Linux)

    Лексическая структура в Postgresql

    Анонимные функции

    Константы классов

    Подготовленные операторы

    dmesg

    Почтовые протоколы

    DNS

    Базовые понятие о настройках и безопасности в сети

    Шпаргалка php

    Использование awk Linux Alpine

    Использование sed в Linux

    Изменить часовой пояс в Linux Alpine

    Отладка в php

    Логирование в postgresql

    Перенести кластер Postgresql-10 на Postgresql-12

    Наследование с помощью extends в php

    Symfony

    Применение getopt в Linux

    Введение в docker

    Переменные окружения в Linux

    Конфигурация Postgresql-12 для удаленного подключения

    tmpfs в Linux

    Возможности шифрования

    Использование ifconfig в Linux

    Команды IMAP в Linux

    Команды SMTP в Linux

    Использование tshark в Linux

    IP-телефония в компьютерных сетях

    Роли и атрибуты в Postgresql

    Memcached

    Конфигурация

    Создание и управление кластером postgresql

    Системные каталоги в Postgresql

    Обновление кластера Postgresql

    HTTP cookies

    Типы данных в php

    Переменные в php

    Объекты и ссылки

    Использование psql

    Использование lsof в Linux

    Этапы запроса и получения результата в postgresql

    Проверка и восстановление файловой системы в Linux

    Настройка репликации в postgresql

    Полнотекстовый поиск в Postgresql

    Саздание сертификатов SSL (TLS) для сайта

    Блокировка пользователя в Linux

    Анализ производительности виртуальной машины

    Операторы в php

    Мониторинг событий в linux с помощью auditd

    Создание RAID массивов

    Использование RAID массивов в Linux

    Конфигурация пула php-fpm

    Использование opcache в php

    Управляющие структуры

    Классы символов в Linux

    Настройка виртуального сервера Nginx

    Использование tar в Linux

    Абстрактные классы в php

    Оптимизация производительности Postgresql

    Интерфейсы объектов в php

    Подстановка имен файлов

    Конфигурация Postfix в Linux Alpine

    Проверка на необходимость перезапуска после обновления пакетов

    Стандартные потоки и перенаправление ввода/вывода в Linux

    Мониторинг Postgresql

    Конструкторы и деструкторы в php

    Устройство и принцип работы Postgresql

    Подстановочные символы bash

    Файлы в Linux

    Функции в языке Shell

    Низкий уровень Postgresql

    Использование grep в Linux

    Архивирование и сжатие файлов в Linux

    Трейты в PHP

    Редактор vim

    Анализ дисковой активности

    Константы в php

    Использование find Linux

    Сценарии инициализации в Linux Ubuntu

    Права пользователей и групп

    Константы в php

    Полезные команды и скрипты Linux

    Переменные в Linux

    foreach for do-while

    Стрелочные функции в php

    Область видимости в php

    Условная конструкция if в Linux

    Анонимные классы в PHP

    Ковариантность и контравариантность

    Использование tr в linux

    Использование grep в Linux

    Использование xargs в Linux

    Фигурные скобки в bash

    Конфигурация NFS Linux

    Циклы в языке shell

    Использование оператора select в языке shell

    Внутренние и внешние команды linux

    Использование командной строки bash

    Полезные функции ООП в PHP

    Перезагрузка в php

    Использование конструкции case в Linux

    Использование audit

    Подстановка команд в Linux

    switch и match

    Настройка openvpn сервера в Linux

    Полезные сетевые утилиты Linux

    Поиск уязвимостей в сети

    Использование fail2ban в Linux

    Свойства в php

    Сравнение файлов в Linux

    Установка сервера Apache Linux Alpine

    Конфигурация Apache2 в Linux

    Конфигурация сети в Alpine Linux

    Compression and Decompression Nginx

    Функция declare в php

    Магические методы в PHP

    Базовые возможности Nginx

    Ограничение доступа http

    Мониторинг активности в Nginx

    Настройка ведения журнала Nginx и поиск ошибок

    include и require

    Сериализация

    openssl в Linux Alpine

    Работа с модулями в Linux

    Преодоление разрыва соединения

    Оператор goto в php

    Классы только для чтения

    Perf

    Мониторинг системы Linix с помощью getconf

    Comet сервер

    Использование acme в Linux

    RDP в Linux

    Callable-объекты в php

    Использование netstat Linux

    Использование бота Telegram в Linux

    Использование ANCI последовательностей в Linux

    Серверная пищалка beep

    Работа в командной строке Linux

    Подключение к серверу Postgresql

    Создание deb пакета в Linux Ubuntu

    Проблемный сертификат IdenTrust DST Root CA X3

    Команды POP3 в Linux

    Подключение по ключу (ssh)

    Ключевое слово Final

    Установка и настройка tftp сервера в Linux Ubuntu

    Тест производительности с помощью pgbench в postgresql

    Многоверсионность в Postgresql

    Изменение кодировки базы данных в Postgresql

    Клонирование объектов

    Пространство имен

    Блокировки в Postgresql

    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ