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

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

СКАЧАТЬ echo ${c@P}

      file1.txt

      $

      $ {переменная@Q} Заключить в кавычки значение указанной переменной.

      $ c=file1.txt

      $ echo ${c@Q}

      'file1.txt'

      ${!переменная }

      Использовать значение указанной переменной в качестве имени другой переменной ,значение которой должно быть использовано.

      4.3 Косвенные переменные.

      Косвенные переменные-это переменные именующие другие переменные.

      Косвенные переменные создаются по команде

      declare -n

      Пример 1

      $ greeting=privet

      $ echo $greeting

      privet

      $ declare -n message=greeting

      $ echo $message

      privet

      Пример 2 Присвоить через косвенную переменную

      значение основной переменной.

      $ message=otvet

      $ echo $greeting

      otvet

      Пример 3 Применение псевдонима

      $ text=ok

      $ echo $(!text)

      echo $(text=ok)

      4.4 Переменные, встроенные в оболочку.

      Основные переменные.

      $# количество аргументов в командной строке.

      $-Действующие в настоящее время

      параметры,представленные в командной строке.

      $? Выходное значение последней,выполнявшейся

      команды.

      $$ Номер процесса ,присвоенный оболочке.

      $! Номер процесса,присвоенной

      команде,выполнявшейся в фоновом режиме.

      $0 Первое слово, имя команды.

      $n Oтдельные аргументы командной строки,если больше 9 форма ${n}

      $*,$@ Все аргументы командной строки ($1,$2..)

      Пример 1

      $ cat >param.sh

      #!/bin/sh

      echo "$#"

      echo "$0"

      echo "$?"

      echo "$$"

      echo "$@"

      echo "$*"

      exit 0

      Запускаем скрипт с параметрами a b c d

      $ sh param.sh a b c d

      4

      param.sh

      0

      2698

      a b c d

      a b c d

      4.5 Дополнительные переменные.

      $_ Временная переменная ,хранит последний аргумент предыдущей команды. Пример

      $ ls -l f2.txt

      –rw-rw-rw- 1 max1 max1 6 апр 24 12:57 f2.txt

      $ echo $_

      f2.txt

      BASH Полный путь для вызова оболочки

      $ echo $BASH

      /usr/bin/bash

      BASHOPTS Доступный для чтения список

      активизированных в настоящий момент параметров оболочки.

      $ echo $BASHOPTS Checkwinsize:cmdhist:complete_fullquote:

      expand_aliases:extglob:extquote:force_fignore:

      globasciiranges:histappend:interactive_comments:

      progcomp:promptvars:sourcepath

      BASHPID Индефикатор текущего процесса. Пример

      $ echo $BASHPID

      3321

      Для сравнения используем встроенную переменную

      $ $$

      3321: команда не найдена

      BASH_COMMAND Команда,которая выполняется в

      текущий момент или готовится СКАЧАТЬ