Оболочка sh Bourne shell

sh (Bourne shell) - данная оболочка является де-факто стандартом и доступна почти в любом дистрибутиве *nix. В Debian ссылается на dash.

bash (Bourne again shell) - усовершенствованная и модернизированная вариация командной оболочки Bourne shell (sh).

#!/bin/sh

echo `date`
$ ./command_shell.sh 
Суб Апр 10 10:37:16 EEST 2010

В shell используются позиционные параметры (т.е. существенна очередность их следования). В командном файле соответствующие параметрам переменные (аналогично shell-переменным) начинаются с символа "$", а далее следует одна из цифр от 0 до 9:

При обращении к параметрам перед цифрой ставится символ доллара "$" (как и при обращении к переменным):

$0 	соответствует имени данного командного файла;
$1 	первый по порядку параметр;
$2 	второй параметр и т.д.

Устанавливает режимы работы интерпретатора языка SHELL. Могут задаваться следующие ключи:

  1. e В неинтерактивном режиме вызывает немедленное прерывание процесса при обнаружении ошибки в выполнении команды.
  2. k Все определенные макропеременные экспортируются в среду запускаемых процессов.
  3. n Производит только синтаксический контроль команд.
  4. t Прерывает выполнение процесса после того, как будет считана и выполнена одна команда.
  5. u Устанавливает режим диагностики ошибки при попытке использовать неопределенные макропеременные.
  6. v Устанавливает режим печати вводимых строк.
  7. x Распечатывает команды и их параметры по мере выполнения.

Установленные ключи содержатся в макропеременной -. Остальным параметрам команды set присваиваются значения позиционных параметров "1, 2, …". Если параметры не заданы, печатается список значений всех макропеременных.