:
— это команда, поэтому ее можно использовать в конвейере, как и все остальное:
something | :
: | something
something | : | something-else
...но это не принесет вам никакой пользы, так как команда :
ничего не делает :она не принимает ввод и не производит вывод. Поэтому ни один из них не является очень полезным конвейером (, за исключением того, что второй, как я полагаю, является немного более короткой альтернативойsomething </dev/null
).
Что касается ваших примеров команд:
$ : { echo hello | cat; }
Это похоже на синтаксическую ошибку, как и сообщает оболочка. Конструкцию {... }
можно использовать вместо простой команды, но нельзя как-то... в сочетании (? )с ним. Что именно вы ожидаете от этой составной команды? Возможно, вам нужно добавить больше деталей о том, чего вы пытаетесь достичь.
Наборы тестов POSIX обеспечивают полное покрытие стандартных утилит ,что не будет всем в /bin
на большинстве систем. Однако он будет охватывать все перечисленные вами инструменты. Помимо охвата только стандартных утилит, пакет будет охватывать только их определенное поведение, а любые расширения выше POSIX в лучшем случае будут игнорироваться ().
Вам нужен пакет VSC «для оболочки и утилит», а не пакет для системных интерфейсов. Они доступны за плату для лицензиатов товарных знаков, но вы можете получить временную -ограниченную лицензию в качестве проекта с открытым -исходным кодом, реализующего стандарт бесплатно с , что не выглядит обременительным лицензионным соглашением .
Существуют открытые наборы для большей части системных интерфейсов, но я не знаю ни одного для утилит (, а наборы , о которых я знаю довольно устарели как хорошо ).
В GNU/Linux эти утилиты являются частью coreutils , набор тестов можно найти в исходном репозитории в tests
.
Примечание. :Linux — это только ядро, остальная часть системы разрабатывается другими организациями, такими как GNU .
GNU is an operating system that is free software...consists of GNU packages (programs specifically released by the GNU Project) as well as free software released by third parties.
В BSD вся операционная система разрабатывается вместе в одном репозитории.
Для OpenBSD, похоже, нет никаких тестов для этих утилит в их исходном репозитории .