Использованиеbash
:
$ printf '%d00 hours ' $(<file)
100 hours 500 hours 1700 hours 1000 hours 800 hours 1600 hours
(без новой строки в конце вывода)
С более сложным форматированием:
$ printf '%02d:00 hours\n' $(<file)
01:00 hours
05:00 hours
17:00 hours
10:00 hours
08:00 hours
16:00 hours
Чтобы уточнить, OP прокомментировал, что для учетной записи USER не установлен пароль.
Изman pam_unix
(pam _unix — это модуль, указанный ниже):
nullok
The default action of this module is to not permit the user access to a service if their official password is blank. The nullok argument overrides this default and allows any user with a blank password to access the service.
nullok_secure
The default action of this module is to not permit the user access to a service if their official password is blank. The nullok_secure argument overrides this default and allows any user with a blank password to access the service as long as the value of PAM_TTY is set to one of the values found in /etc/securetty.
Я предполагаю, что ваши настройки PAM используют nullok_secure
. Так обстоит дело с Debian 10.
Просто замените nullok_secure
на nullok
, чтобы все заработало. В Debian это будет /etc/pam.d/common-auth
, другие дистрибутивы Unix или Linux могут поместить его в другое место (, например, в определенный файл для su
)
Дополнительное примечание :Чтобы команда всегда выполнялась без пароля при использовании nullok_secure
, она требует запуска на TTY, присутствующем в/etc/securetty
или при отсутствии /etc/securetty
(, что делает утверждение «PAM _Для TTY задано одно из значений, найденных в /etc/securetty, всегда верно ). Без телетайпа это не имеет значения и всегда будет давать сбой.