Что такое «s» внутри «$ -»?

Я переключился на проигрыватель с VLC на OMX, и он теперь работает нормально.

10
12.12.2016, 00:39
1 ответ

Параметр -s - это запуск bash с помощью -s , что означает «исходные команды из» стандарт в ". Из руководства:

-s Если присутствует опция -s, или если после обработки опции не осталось аргументов, то команды считываются из стандартного ввода. Эта опция разрешает позиционные параметры устанавливается при вызове интерактивной оболочки.

Это очень легко проверить:

$ bash -c 'echo $-'
hBc

$ bash -sc 'echo $-'
hBcs

Запуск новой оболочки для всех предыдущих версий bash не устанавливает эту опцию по умолчанию:

$ b32sh -li
$ echo $-
himBH

Но это есть в bash 4.4:

$ b44sh -li
$ echo $-
himBHs
14
27.01.2020, 20:01

Теги

Похожие вопросы