BASH. Справочное пособие. Вячеслав Вячеславович Ткачев
Чтение книги онлайн.

Читать онлайн книгу BASH. Справочное пособие - Вячеслав Вячеславович Ткачев страница 3

СКАЧАТЬ style="font-size:15px;">      Пример2

      $ echo a{d,c,b}e

      ade ace abe

      Пример 3

      $ echo 1 to 5 is {1..5}

      1 to 5 is 1 2 3 4 5

      $ echo 1 to 8 by 2 {1..8}

      1 to 8 by 2 1 2 3 4 5 6 7 8

      Использование скобок ( ) показано на следующем примере – выполнение группы команд.

      $ (date; w;) Результат

      Чт 22 июл 2021 08:31:12 MSK

      08:31:12 up 3:00, 1 user, load average: 0,02, 0,14, 0,18

      USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

      max tty2 tty2 05:31 2:59m 0.11s 0.10s /usr/libexec/gn

      Использование скобок [ ] и (( )) показано на примере простого скрипта.

      $ cat >skobki.sh

      #!/bin/bash

      X=1

      while [ $X -lt 5 ]

      do

      echo "–> $X <–"

      X=$(( $X+1 ))

      done

      exit 0

      $ chmod +x skobki.sh

      $ ./skobki.sh

      –-> 1 <–

      –-> 2 <–

      –-> 3 <–

      –-> 4 <–

      2.6 Управляющие последовательности символов.

      Распознаются и интерпретируются в следующих контекстах. Символьная строка в форме $ '…'

      Аргументы в командах echo -e , printf %b

      (Подставить управляющие последовательности символов в символьные строки).

      Форматирующие строки, указываемые в команде printf ( управляющие последовательности символов в заданном формате экранируются).

      \a Звонок

      \b Возврат на 1 позицию

      \c Подавить знак новой строки

      \e Переход

      \E Переход

      \f Перевод страницы

      \n Перевод строки

      \r Возврат каретки

      \t Табуляция

      \uHHHH Символ HHHH в Юникоде

      \nnn Восьмиричное значение nnn

      \’ Одиночная кавычка

      \” Двойная кавычка

      \? Знак вопроса

      \\ Обратная косая черта

      Простой пример

      $ echo -e "Hello Friend"

      Hello Friend

      $ echo -e "Hello\nFriend"

      Hello

      Friend

      $ echo -e "Hello Friend" \?

      Hello Friend ?

      2.7 Формы команд.

      –Выполнить команду в фоновом режиме $ cmd &.

      –Выполнить команды группой в текущей оболочке {cmd1; cmd2}.

      Пример 1

      $ { who;pwd; }

      max tty7 2019-08-12 05:17 (:0)

      /home/max

      –Выполнить команды в подоболочке (cmd1 ;cmd2)

      Пример 2

      $ (date; who; pwd) > logfile

      $ cat logfile

      Сб авг 3 09:03:21 MSK 2019

      max tty7 2019-08-03 08:23 (:0)

      /home/max

      –Передать выход cmd1 на вход cmd2. $ cmd1 | cmd2

      Пример 3, найти все файлы с расширением .sh и

      сделать их исполняемыми

      $ find *.sh -type f |xargs chmod +x

      Проверка

      $ ls -l *.sh

      –Результат команды cmd2 как аргумент cmd1.

      $ cmd1 `cmd2`

      $ cat `pwd`

      cat: /home/max: Это каталог

      –Подстановка команд сmd1 $(cmd2)

СКАЧАТЬ