Почему "cat" $ {1: - / dev / stdin} |… &> / dev / null "работает в bash, но не работает в тире?

Это ожидаемое поведение.

Клавиша Backspace предназначена не для удаления, а для возврата.

Если вы хотите удалить символы, используйте клавишу DEL .

4
07.06.2019, 23:38
2 ответа

dashпозиционируется как стандарт POSIX. В POSIX указано только перенаправление [n]>. Но bashвводит много собственных особенностей. &>является одним из них и означает выходные дескрипторы(stderrи stdout).

Вам следует прочитать статью о совместимости bash и dash .

Возможно, вы получите полезную утилиту checkbashisms , которая может помочь найтиbash-конкретные инструкции в ваших сценариях.

7
27.01.2020, 20:44

&> — это башизм, вам придется изменить его на >/dev/null 2>&1для оболочек POSIX

10
27.01.2020, 20:44

Теги

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