Чтение онлайн

на главную - закладки

Жанры

BASH. Справочное пособие
Шрифт:

ls: невозможно получить доступ к 'f81.txt': Нет такого файла или каталога

$ date && touch f81.txt; ls f81.txt

Сб 30 мая 2020 06:43:54 MSK

f81.txt

2.8 Простая переадресация ввода-вывода.

Ниже отображены формы переадресации ввода-вывода

cmd>file Направить результат команды в файл.

Пример 1

$ date >f30.txt; cat f30.txt

Вт июн 11 22:10:14 MSK 2019

cmd>> file Добавить результат команды в файл

Пример 2

$ date >>f30.txt; cat f30.txt

Вт июн 11 22:10:14 MSK 2019

Вт июн 11 22:11:45 MSK 2019

cmd <file Взять входные данные для команды из

файла.

Пример 3

$ cat <f30.txt

Вт июн 11 22:10:14 MSK 2019

Вт июн 11 22:11:45 MSK 2019

Пример 4 Встраиваемая строка.

Представить текст заданного слова в качестве входных данных для указанной команды.

$ cat <<<"Privet"

Privet

Пример 5

cmd <>file Записать в файл результат команды,

содержимое файла не нарушается.

$ date <> f30.txt; cat f30.txt

Вт июн 11 21:58:17 MSK 2019

Вт июн 11 17:15:49 MSK 2019

cmd >| file Направить результат команды в файл

переписав его содержимое.

Пример 5 Направить результаты в файл, переписав его содержимое.

$ date

Пн 12 июл 2021 08:02:24 MSK

$ cat >f30.txt

Hello

$ date >| f30.txt

$ cat f30.txt

Пн 12 июл 2021 08:03:13 MSK

2.9 Переадресация ввода-вывода с использованием дескрипторов файлов.

Файловый дескриптор – целое число,которое указывает доступ к файлу.

Стандартный ввод stdin дескриптор 0.

Стандартный вывод stdout дескриптор 1.

Стандартный вывод ошибок stderr дескриптор 2. Клавиатура stdin файл.

Экран stdout файл. Файловый дескриптор привязан к индефикатору процесса.

Пример

# sleep 1000 &

[2] 5021

# cd /proc/5021/fd ; ls

0 1 2

cmd >&n Направить результат команды в файл с

дескриптором n.

Пример 1 # дескриптор 1 стандартный вывод.

$ date >&1

Вт июн 11 22:05:51 MSK 2019

cmd >&– Закрыть стандартный вывод

$ date >&-

date: ошибка записи: Неправильный дескриптор файла.

cmd<&n Взять входные данные для указанной команды из файла с заданным дескриптором n.

$ cat >file1<&0

privet

$ cat file1

privet

cmdm<&n Входные данные из файла с дескриптором m

поступают из файла с дескриптором n.

$ cat >file1 2<&0

privet 4 # Набираем с клавиатуры

$ cat file1

privet 4

cmd<&– Закрыть стандартный ввод.

$ pwd<&-

/home/max1

$

cmd<&n Направить содержимое файла с заданным дескриптором n в стандартный ввод,получив сначала копию, а затем закрыв оригинал.

cmd>&n- Направить содержимое файла с заданным дескриптором n в стандартный вывод,получив сначала копию,а затем закрыв оригинал.

Пример Напишем следующий скрипт

$ cat f2.sh

#!/bin/sh

read str <&0

echo "$str" | festival –tts –language russian

Запускаем скрипт

$ sh f2.sh Набираем в терминале фразу

Привет друзья. Нажимаем Enter и слышим

«Привет друзья»

Пример 2

$ cat f5.txt

Hello my friend

$ read str <f5.txt |echo "$str" >&1-

Hello my friend

Использование команды exec с дескрипторами.

exec 0

Создадим под root myfile с двумя командами.

# cat >myfile

pwd; date

Выполнить команды из файла вместо стандартного ввода.

# exec 0<myfile

# pwd; date

/root

exec 1

cat myscript1.sh

#!/bin/sh

exec 1>outfile

0echo "This a test"

$ cat ./outfile

This is a test

exec 3

$ cat myscript3.sh

#!/bin/sh

exec 3> myfile

echo "Privet" >&3

cat ./myfile

$sh myscript.sh

Privet

Примечание возможно использование команды exec c дескрипторами 0-9.

2.10 Многократная переадресация ввода-вывода.

Направить стандартный вывод ошибок в заданный

файл cmd 2>file Пример 1

$ ls -l /root/ 2>ls_er; cat ls_er

ls: невозможно открыть каталог '/root/': Отказано в доступе.

Направить стандартный вывод ошибок и данных в

заданный файл.

cmd >file 2>&1 Пример 2

$ ls -l f1.txt; ls -l /root/ 2>&1 >ls1

–rw-rw-r– 1 max1 max1 6 мая 9 07:21 f1.txt

ls: невозможно открыть каталог '/root/': Отказано в доступе.

$ cat ls1

ls: невозможно открыть каталог '/root/': Отказано в доступе.

Присоединить стандартный вывод данных и

ошибок к содержимому данного файла

cmd&>> file Пример 3

$ ls -l f1.txt; ls -l /root/ &>> ls2

–rw-rw-r– 1 max1 max1 6 мая 9 07:21 f1.txt

$ ls -l f1.txt; ls -l /root/ &>> ls2

–rw-rw-r– 1 max1 max1 6 мая 9 07:21 f1.txt

max1@hp:~$ cat ls2

ls: невозможно открыть каталог '/root/': Отказано в доступе.

Поделиться:
Популярные книги

Двойник Короля 7

Скабер Артемий
7. Двойник Короля
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Двойник Короля 7

Распутье

Басаргин Иван Ульянович
Сибириада
Проза:
военная проза
историческая проза
5.00
рейтинг книги
Распутье

Пески веков (сборник)

Уиндем Джон Паркс Лукас Бейнон Харрис
1970. Зарубежная фантастика
Фантастика:
научная фантастика
5.00
рейтинг книги
Пески веков (сборник)

Натиск

Осадчук Алексей Витальевич
12. Последняя жизнь
Фантастика:
аниме
фэнтези
попаданцы
6.20
рейтинг книги
Натиск

Прапорщик. Назад в СССР. Книга 7

Гаусс Максим
7. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 7

Вагант

Листратов Валерий
6. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Вагант

Ожерелье Странника

Хаггард Генри Райдер
Приключения:
исторические приключения
7.50
рейтинг книги
Ожерелье Странника

Наномашины, демоненок! Том 3

Новиков Николай Васильевич
3. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наномашины, демоненок! Том 3

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

Черный Маг Императора 14

Герда Александр
14. Черный маг императора
Фантастика:
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 14

Варяг

Мазин Александр Владимирович
1. Варяг
Фантастика:
альтернативная история
9.10
рейтинг книги
Варяг

Неучтенный элемент. Том 9

NikL
9. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 9

Проводник

Кораблев Родион
2. Другая сторона
Фантастика:
боевая фантастика
рпг
7.41
рейтинг книги
Проводник

Князь Андер Арес 4

Грехов Тимофей
4. Андер Арес
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Князь Андер Арес 4