Bash: Автозаполнение в вложенной команде

Вы можете установить cron-apt , который периодически автоматизирует процесс обновления системы Debian:

apt-get install cron-apt 

По умолчанию это обновляет список источников и автоматически загружает все новые пакеты. В этом случае загрузка не требуется, поэтому вы отключите часть загрузки, удалив команды загрузки:

rm /etc/cron-apt/action.d/3-download

(Если она вам понадобится позже: файлы конфигурации находятся в / usr / share / doc / cron-apt / examples / )

Это гарантирует, что ваш список пакетов достаточно актуален. Теперь вы можете получить количество пакетов, которые будут обновлены с помощью

LANG=C apt-get upgrade -s |grep -P '^\d+ upgraded'|cut -d" " -f1

. Или вы можете установить apt-show-versions , чтобы использовать это вместо того, чтобы показывать количество пакетов с обновлениями:

apt-show-versions -b -u|wc -l
0
09.10.2018, 12:52
2 ответа

Вы должны использовать настройки завершения из bash-completion. Завершение табуляции при подстановке команд с этим не работает. Однако он работает без них, используя настройки по умолчанию. Закомментируйте везде, где вы получили /usr/local/etc/bash_completion(, предполагая хоумбрю по умолчанию, учитывая строку версии ), запустите новую оболочку и повторите попытку.

2
28.01.2020, 02:23

Используйте эту команду для чтения PID из файла и завершения процесса:

pkill -F /path/to/file
1
28.01.2020, 02:23

Теги

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