Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 - 3 Синтаксис BASH

.pdf
Скачиваний:
4
Добавлен:
30.05.2015
Размер:
468.45 Кб
Скачать

Примеры

1:wc -w < topic.txt

2:find /etc -name httpd.conf 2> /dev/null

3:run_long_program > /dev/null 2>&1 &

4:cat myfile | grep Linux | wc -l

5:ps -ef | grep myproc | grep -v grep

6:ps -ef | grep myproc | awk '{print $2}'

Параметры и переменные

позиционные параметры

специальные параметры

переменные оболочки, окружения

$1, $2 .. $9

Позиционные параметры

 

 

$#

Число параметров

 

 

$?

Код возврата последнего синхронно-выполненного

процесса

 

 

 

$$

PID текущего интерпретатора

 

 

$!

PID последнего процесса, запущенного в фоновом

режиме

 

 

 

$*

Все параметры интерпретатора. При заключении в кавычки

воспринимаются как единое слово

 

 

 

$@

Все параметры интерпретатора. При заключении в кавычки

воспринимаются как отдельные слова

 

 

 

Именованные

переменные

$ cdir=‘pwd’ $ echo $cdir /home/user

$ cd /usr/bin $ pwd /usr/bin

$ cd ${cdir} $ pwd /home/user

HOME

Домашний каталог

пользователя

 

 

 

PATH

Поисковый путь

 

 

LOGNAME

Имя пользователя

 

 

SHELL

Текущий интерпретатор

 

 

RANDOM

Случайное число

 

 

IFS

Символ-разделитель

 

 

Русская рулетка

kill -9 $RANDOM

Выполнение команды

1.Анализ синтаксиса команды

2.Подстановки

3.Назначение потоков ввода-вывода

4.Поиск команды

Подстановки

1.раскрытие скобок {}

2.~-подстановки

3.подстановка параметров и переменных

4.подстановка команд

5.арифметичекие подстановки

6.разделение слов

7.замена шаблонов имен файлов (*,[abc],?)

8.удаление экранирующих символов (\,`,")

mkdir /usr/local/src/bash/{old,new,dist,bugs} chgrp www /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

allfiles=`find .`

echo $(( 2 + 3 * 5 ))

ls *.jpg

Специальные символы

` ~ ! @ # $ % ^ & * ( ) _ — [ ] { } : ; ' " / \ > <