|
Оболочка Toybox - Toybox shell (нет в ver. 4) [Pending]
sh
usage: sh [-c command] [script]
Командная оболочка. Запускает сценарий оболочки или считывает ввод в интерактивном режиме.
и отвечает на него. Примерно совместим с "bash". Запустите «HELP» для получения
списка встроенных команд.
-c командная строка для выполнения
-i интерактивный режим (по умолчанию, когда STDIN является tty)
-s не запускает скрипт (аргументы задают параметры $*,
но считывает команды со стандартного ввода)
Командная оболочка анализирует каждую строку ввода (запрашивая в интерактивном режиме),
ыполняет расширение и перенаправление переменных, выполнение команд
(порождение дочерних процессов и фоновые задания) и выполняет управление потоком
на основе кода возврата.
Разбор:
синтаксические ошибки
Интерактивные подсказки:
продолжение строки
Расширение переменной:
Примечание: может вызвать синтаксические ошибки во время выполнения.
Перенаправление:
ЗДЕСЬ документы (парсинг)
Конвейеры (управление потоком и управление заданиями)
Запуск команд:
состояние процесса
встроенные модули
CD [[ ]] (( ))
! : [ # TODO: помочь этим?
true false help echo kill printf pwd test
дочерние процессы
Контроль работы:
& фоновый процесс
Ctrl-C удалить процесс
Ctrl-Z приостановить процесс
bg fg удалить рабочие места
Управление потоком:
; Оператор End (то же, что и новая строка)
& Фоновый процесс (возвращает true, если не возникает синтаксическая ошибка)
&& Если это не удается, следующая команда завершается с ошибкой без выполнения
|| Если это удается, следующая команда выполняется без запуска
| Каналы !
for {name [in...]}|((;;)) do; BODY; done
if TEST; then BODY; fi
while TEST; do BODY; done
case a in X);; esac
[[ TEST ]]
((MATH))
Контроль работы:
& Фоновый процесс
Ctrl-C убить процесс
Ctrl-Z приостановить процесс
bg fg рабочие места убить
usage: sh [-c command] [script]
Command shell. Runs a shell script, or reads input interactively
and responds to it. Roughly compatible with "bash". Run "help" for
list of built-in commands.
-c command line to execute
-i interactive mode (default when STDIN is a tty)
-s don't run script (args set $* parameters but read commands from stdin)
Command shells parse each line of input (prompting when interactive), perform
variable expansion and redirection, execute commands (spawning child processes
and background jobs), and perform flow control based on the return code.
Parsing:
syntax errors
Interactive prompts:
line continuation
Variable expansion:
Note: can cause syntax errors at runtime
Redirection:
HERE documents (parsing)
Pipelines (flow control and job control)
Running commands:
process state
builtins
cd [[ ]] (( ))
! : [ # TODO: help for these?
true false help echo kill printf pwd test
child processes
Job control:
& Background process
Ctrl-C kill process
Ctrl-Z suspend process
bg fg jobs kill
Flow control:
; End statement (same as newline)
& Background process (returns true unless syntax error)
&& If this fails, next command fails without running
|| If this succeeds, next command succeeds without running
| Pipelines! (Can of worms...)
for {name [in...]}|((;;)) do; BODY; done
if TEST; then BODY; fi
while TEST; do BODY; done
case a in X);; esac
[[ TEST ]]
((MATH))
Job control:
& Background process
Ctrl-C kill process
Ctrl-Z suspend process
bg fg jobs kill
|
|