Введение в Bash-скриптинг
Alex Scriven
Data Scientist
В Bash-скриптинге у программы есть три «потока»:
По умолчанию эти потоки читают данные из терминала и выводят результат в него.
Вы можете встретить 2> /dev/null в вызовах скриптов — это перенаправление STDERR с удалением вывода. (1> /dev/null — то же самое для STDOUT)
Ниже показана схема стандартных потоков на основе ранее созданного конвейера:

Рассмотрим текстовый файл (sports.txt) с тремя строками данных.
football
basketball
swimming
Команда cat sports.txt 1> new_sports.txt читает данные из файла и записывает STDOUT в новый файл. Посмотрите, что произойдёт при вызове cat new_sports.txt
football
basketball
swimming
Ключевое понятие в Bash-скриптинге — аргументы
Bash-скрипты могут принимать аргументы для использования внутри: их нужно добавить через пробел после вызова скрипта.
$: первый — $1, второй — $2 и т. д.$@ и $* возвращают все аргументы из ARGV$# возвращает количество аргументовРассмотрим пример скрипта (args.sh):
#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Запустим bash args.sh one two three four five
one
two
one two three four five
There are 5 arguments
#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Введение в Bash-скриптинг