Вместо того чтобы читать /etc/passwd
напрямую, вы должны использовать getent passwd
, который также будет работать, если некоторые из ваших пользователей сохранены в чем-то вроде LDAP или подобном. awk
должен хорошо подойти для формата вывода с разделителем двоеточий.
Это выведет имена всех пользователей с UID > 1000:
getent passwd | awk -F: '$3 > 1000 {print $1}'
А это просто выведет found
, если будет найден хотя бы один такой пользователь:
getent passwd | awk -F: '$3 > 1000 {print "found"; exit}'
У меня нет системы для тестирования, но похоже, что ALSA может обеспечить сопоставление вывода с динамиком ПК. К вашему сведению, есть много страниц, на которых говорится, что это плохая идея, потому что драйвер предназначен как «игрушка», а не для общего использования (он будет сжигать много циклов ЦП), но при этом это должно работать:
# Load the PC speaker driver
sudo modprobe snd-pcsp
# Reload ALSA to find the new driver
sudo alsa force-reload
# You should now see pcsp (pcspeaker) as an ALSA output option
sudo aplay -l
Выберите звуковую карту в качестве выхода и получайте удовольствие!
Источники:
http://wiki.archlinux.org/index.php/PC_speaker#ALSA
http://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#Set_the_default_sound_card