Состоит ли конвейер из простых команд?

sudo chmod u+s /usr/bin/xinit

Исправлена ​​проблема с Linux Mint

0
23.03.2016, 00:39
2 ответа

Руководство по Bash ( man bash ) никогда не включало слово простой в описание конвейера. Получите любой из файлов bash - $ {version} .tar.gz с этого сайта , распакуйте и просмотрите файл bash - $ {version} / doc /bash.1 , который представляет собой руководство по bash для каждой версии.

Слово простой включает в себя файл bashref . Из того же загруженного и расширенного файла, что и выше, прочтите bash - $ {version} /doc/bashref.pdf , который включает слово простой в точке 3.2.2. Конвейеры до версии 4.3 указанного руководства bashref.

3.2.2 Конвейеры Конвейеры - это последовательность простых команд, разделенных… ‘|’ или ‘| &’.

То, что bashref включало такое слово, никогда не означало, что сложные команды (в отличие от «простых») каким-либо образом исключались из использования как часть конвейера (включая {…} если… тогда … в то время как… делают… и другие).

Такая формулировка - простая опечатка, и ее не следует использовать для вывода какого-либо заключения.

2
28.01.2020, 02:14

В руководстве по Bash 4.4.5 нет слова «простой» из описания того, из чего состоит конвейер. «Простая команда», о которой вы говорите, вероятно, была опечаткой, недосмотром или, возможно, пережитком давней давности.

Он был исправлен сопровождающим bash в апреле 2014 года , и в настоящее время он гласит:

Конвейер - это последовательность из одной или нескольких команд, разделенных одним из {{ 1}} управляющие операторы | или | & .

Конвейер, очевидно, может состоять из команд, которые или не являются простыми командами (например, подоболочки и для циклов, которые являются составными командами).

7
28.01.2020, 02:14

Теги

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