

Три основных требования к языкам склейки:
Основные блоки команд:
localhost% a=4
localhost% echo $a
4
localhost%
localhost% A=2; B=3
localhost% echo $((A+B))
5
localhost% echo $((A+B-13))
-8
localhost% expr $A + $B
5
user@localhost:~> zsh
localhost% A=1
localhost% echo $A
1
localhost% zsh
localhost% echo $A
localhost% ASD=123
localhost% echo $ASD
123
localhost% exit
localhost% echo $ASD
localhost% echo A
A
localhost% export A
localhost% zsh
localhost% echo $A
1
localhost% exit
localhost% exit
user@localhost:~>
user@localhost:~> A() { echo qq; }
user@localhost:~> A
qq
user@localhost:~>
user@localhost:~> A=123.456.678
user@localhost:~> echo ${A}b # вывод форматированного текста
123.456.678b
user@localhost:~> echo $Ab # считает, что это переменная из двух букв и, очевидно, не находит её в своём словаре
localhost% A=123/456/789
localhost% echo $A
123/456/789
localhost% echo ${A}
123/456/789
localhost% echo ${A%/*} # Отрезание хвоста данных (отрезает последнее совпадение шаблону /*)
123/456
localhost% echo ${A%%/*} # Жадное отрезание хвоста (по первому совпадению)
123
localhost% echo ${A#*/} # отрезание головы (по первому совпадению)
456/789
localhost% echo ${A##*/} # Жадное отрезание головы (по последнему)
789
localhost% A=123.426.678
localhost% echo ${A/2/E} # замена первого совпадения
1E3.426.678
localhost% echo ${A//2/E} # Замена всех совпадений
1E3.4E6.678
localhost% A=Hello
localhost% echo $A
Hello
localhost% {sleep 1; echo 1; sleep 1; echo 2; sleep 1; echo QQ} # запуск скрипта в данном* процессе
1
2
QQ
localhost% {sleep 1; echo 1; sleep 1; echo 2; sleep 1; echo QQ} & # запуск скрипта фоновым процессом — можем продолжать работу
[1] 189666
localhost% echo $A # успеваем вызывать другие команды Shell
Hello
1
localhost% echo $A
Hello
2
localhost% echo $A
Hello
QQ
[1] + 189666 done { sleep 1; echo 1; sleep 1; echo 2; sleep 1; echo QQ; }
localhost%
+ В качестве условия выступает код завершения последней команды условия
+ Цикл по последовательности:
* Проверка условия — утилита test (или просто [ )
Вид выражения:
case <выражение> in
<шаблон 1>) <команды> ;;
...
<шаблон N>) <команды> ;;
*) <команды> ;;
esac
cp, ls, mv, cat
find для поиска файлов по предикатамhead, tail, sort, tee, cutgrep, sed