LDP:Bash beginners guide/appendixes
Матеріал з docs.linux.org.ua — збірника документації з Unix/Linux українською мовою.
Додатки
В цьому документі описані загальні можливості найпопулярніших оболонок та відмінності між ними.
Загальні можливості
Наступні можливості є стандартними у кожні оболонці. Зверніть увагу, що команди stop, suspend, jobs, bg і fg доступні лише у системах, котрі дозволяють керування завданнями.
Таблиця А1. Стандартні можливості оболонок
| Команда | Значення |
|---|---|
> | Перенаправлення виводу |
>> | Додати до файлу |
< | Перенаправлення вводу |
<< | Документна вставка (перенаправлення вводу) |
| | Конвеєризація виводу |
& | Запуск процесу у фоні |
; | Декілька команд у одному рядку |
* | Будь-які символи (у імені файлу) |
? | Будь-який поодинокий символ |
[ ] | Будь-які символи з тих, що перелічені |
( ) | Запустити у дочірній оболонці |
` ` | Підставити вивід залапкованої команди |
" " | Часткове цитування (дозволяє змінні та підстановку команд) |
' ' | Повне цитування (без розкривань) |
\ | Екранувати наступний символ |
$var | Значення змінної |
$$ | Ідентифікатор процесу |
$0 | Ім’я команди |
$n | n-ний аргумент (n від 0 до 9) |
$* | Всі аргументи як одне слово |
# | Початок коментаря |
bg | Фонове виконання |
break | Перервати виконання циклу |
cd | Змінити каталог |
continue | Повторити виконання циклу (з наступним елементом циклу) |
echo | Показати вивід |
eval | Оцінити (проаналізувати) аргументи |
exec | Запустити нову оболонку |
fg | Виконання на передньому плані |
jobs | Показати активні задачі |
kill | Завершити запущені задачі |
newgrp | Змінити до нової групи |
shift | Зсунути позиційні параметри |
stop | Тимчасово зупинити фонове завдання |
suspend | Тимчасово зупинити поточне завдання |
time | Рахувати тривалість виконання команди |
umask | Задати чи проглянути права доступу до файлу |
unset | Видалити визначення функції чи змінної |
wait | Зачекати на завершення фонового завдання |
Відмінності
У наведеній таблиці показано основні відмінності між стандартною оболонкою (sh), Оновленою оболонкою Борна (bash), оболонкою Корна (ksh) та С-подібною оболонкою (csh).
Таблиця А2. Відмінності між оболонками
| sh | bash | ksh | csh | Пояснення |
|---|---|---|---|---|
| $ | $ | $ | % | Стандартна користувацька підказка |
| >| | >| | >! | Примусове перенаправлення | |
| > file 2>&1 | &> file або | |||
| > file 2>&1 | > file 2>&1 | >& file | Пере направити стандартний вивід та стандартні помилки у файл | |
| { } | { } | Розкрити елементи списку | ||
| `command` | `command` або $(command) | $(command) | `command` | Підставити вивід команди command |
| $HOME | $HOME | $HOME | $home | Домашній каталог |
| ~ | ~ | ~ | Символ домашнього каталогу | |
| ~+, ~-, dirs | ~+, ~- | =-, =N | Доступ до стеку каталогів | |
| var=value | VAR=value | var=value | set var=value | Присвоєння змінних |
| export var | export VAR=value | export var=val | setenv var val | Задати змінну середовища |
| ${nnnn} | ${nn} | Посилання більше як на 9 аргументів | ||
| "$@" | "$@" | "$@" | Всі аргументи як окремі слова | |
| $# | $# | $# | $#argv | Кількість аргументів |
| $? | $? | $? | $status | Стан завершення останньої команди |
| $! | $! | $! | PID останнього фонового процесу | |
| $- | $- | $- | Поточні опції | |
| . file | source file або . file | . file | source file | Зчитати команди з файлу |
| alias x='y' | alias x=y | alias x y | Ім’я x замінює команду y | |
| case | Case | case | switch або case | Вибір альтернатив |
| done | done | done | end | Кінець оператора циклу |
| esac | esac | esac | endsw | Кінець циклів case чи switch |
| exit n | exit n | exit n | exit (expr) | Завершити з станом |
| for/do | for/do | for/do | foreach | Цикл зі змінними |
| set -f, set -o nullglob|dotglob|nocaseglob|noglob | noglob | Ігнорувати символи підстановки для генерації імен файлів | ||
| hash | hash | alias -t | hashstat | Показати збережені команди (відстежувані псевдоніми) |
| hash cmds | hash cmds | alias -t cmds | rehash | Запам’ятати розміщення команд |
| hash -r | hash -r | unhash | Забути розміщення команд | |
| history | history | history | Переглянути попередні команди | |
| ArrowUp+Enter чи !! | r | !! | Повторити попередню команду | |
| !str | r str | !str | Повторити попередню команду, що починається з "str" | |
| !cmd:s/x/y/ | r x=y cmd | !cmd:s/x/y/ | Замінити "x" на "y" у останній команді, що починається з "cmd", і виконати її | |
| if [ $i -eq 5 ] | if [ $i -eq 5 ] | if ((i==5)) | if ($i==5) | Проста перевірка умови |
| fi | fi | fi | endif | Кінець оператора if |
| ulimit | ulimit | ulimit | limit | Встановити обмеження ресурсів |
| pwd | pwd | pwd | dirs | Надрукувати ім’я поточного каталогу |
| read | read | read | $< | Зчитати з терміналу |
| trap 2 | trap 2 | trap 2 | onintr | Ігнорувати переривання |
| unalias | unalias | unalias | Видалити псевдоніми | |
| until | until | until | Розпочати цикл until | |
| while/do | while/do | while/do | while | Розпочати цикл while |
Оновлена оболонка Борна має багато можливостей, не перелічених тут. Таблиця наведена просто щоб дати вам уявлення про те, як ця оболонка об’єднує в себе всі зручні ідеї з інших оболонок: зверніть увагу на відсутність пропусків у стовпчику bash. Додаткова інформація про властивості оболонки bash знаходиться на сторінках info Bash у розділі Bash Features (Властивості Bash).
Додаткова інформація.
Ви повинні прочитати як мінімум один посібник, вивчаючи вашу оболонку. Найкращим вибором буде info bash. Роздрукуйте його та перечитуйте, коли у вас з’явиться вільна хвилинка.


