Другой вывод `find | xargs ls` для одной и той же команды в разных версиях Ubuntu

Control-a — это ключ readline, который bash использует по умолчанию. Другие программы, такие как sudo или su, по-видимому, не используют его (могут заглянуть в свой исходный код, чтобы узнать, как они обрабатывают ввод). Но вы всегда можете смоделировать readline с помощью программы под названием rlwrap. Например:

$ rlwrap  sudo echo hi
Password: ********

Теперь * отображаются, чтобы вы знали, где находится указатель, и вы можете нажать Control-a, чтобы перейти к началу строки.

3
14.03.2016, 18:41
1 ответ

«Что я могу сделать, чтобы добиться согласованного поведения, как на сервере A (пустой вывод при отсутствии найденных файлов)?»

Чтобы добиться такого поведения с xargs , вы можете использовать - r / - опция no-run-if-empty , чтобы указанная команда не запускалась, если ей не переданы имена файлов. Из справочной страницы :

Если стандартный ввод не содержит никаких небланков, не запускайте команду . Обычно команда запускается один раз, даже если нет ввода.

Обратите внимание, что эта опция является особенностью GNU xargs и не является стандартной, т.е. задана POSIX.

2
27.01.2020, 21:27

Теги

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