Необходимо знать, какая команда выполняет вывод в stderr, и убедиться, что перенаправление связано с этой командой.
Вы можете думать о каналах как о()вокруг команд
Итак,
a | b | c
можно рассматривать как
( a ) | ( b ) | (c )
(Это работает не в буквальном смысле, а в ментальной модели ).
А внутри скобок происходит перенаправление.
Итак, ясно, что
( a ) | ( b ) | ( c 2>/dev/null )
не перенаправляет сообщение об ошибке с "а"
но
( a 2>/dev/null) | ( b ) | ( c )
делает
Итак, ваша команда перенаправила ошибку с команды awk
. Вы действительно хотите перенаправить ошибку из ldapsearch
.
Так
$ ldapsearch -Y GSSAPI -b "cn=users,cn=accounts,dc=example,dc=com" "uid=foo" 2>/dev/null | grep krbPasswordExpiration | tail -n1 | awk '{print $2}'
Вы можете редактировать /boot/grub/grub.cfg
с помощью редактора, так как это обычный текстовый файл.
Однако, если вы установите новое ядро, grub-mkconfig
будет запущено и заново создаст файл с использованием каждого скрипта в/etc/grub.d
:ваши изменения будут потеряны. Затем вы можете добавить скрипт в этот каталог, который вставит элемент меню в нужное место. Будет сложнее изменить поведение скрипта 10_linux
, который вроде бы перечисляет доступные ядра Linux, начиная с katest.