Какая часть man-страниц относится к оболочке bash?
В настоящее время я использую оболочку bash, но немного запутался в записях man. Например, запись man для source (man source
):
DESCRIPTION
sh
The exec command specified by the arguments is executed in...
csh
exec executes command in place of the current she...
ksh
With the exec built-in, if arg is give...
Есть записи для нескольких оболочек, но не для оболочки bash. Я знаю, что bash обозначает Bourne Again SHell, поэтому это подразумевает, что описание для sh
тот, который относится к Bash?
Спасибо
3 ответа
Эта man-страница выглядит так, как будто она из системы Unix (а не Linux), такой как Solaris.
В Solaris /bin/sh - это оригинальная оболочка Bourne, в которой отсутствует история, завершение или более продвинутая подстановка параметров, которую можно найти в оболочках ksh, POSIX и Bash. Кроме того, подстановка команд может выполняться только с помощью обратных кавычек, а не с помощью $ (command).
(Хотя, если у вас есть /usr/xpg4/bin
ранее в вашем PATH, запуск 'sh' даст вам POSIX-совместимую оболочку.)
Как говорит dubiousjim, используйте man bash
для деталей синтаксиса Bash.
Если вам нужна помощь по конкретному встроенному bash, обычно
help [builtin_name]
это то, что вы хотите.
Во многих дистрибутивах sh- это ссылка на bash, так что если вы запустите sh, вы получите bash, однако он будет работать в ограниченном, совместимом с sh режиме. Вы не можете полагаться на это без проверки, хотя. Вместо этого sh может быть ссылкой на dash или на собственный двоичный файл.
Для ссылок bash, сделайте man bash
, Также посмотрите Справочное руководство Bash и Расширенное руководство по написанию сценариев Bash.