Пробую накатать скриптик для автоматической смены паролей в Солярис
#!/bin/bash
username=test
NEWPASSWORD=pwd123
echo "$NEWPASSWORD" | passwd --stdin "$username"
echo "Ok $username!"
Выдает ошибку:
root@msk-arm # ./test.sh
passwd: illegal option -- t
usage:
passwd [-r files | -r nis | -r nisplus | -r ldap] [name]
passwd [-r files] [-egh] [name]
passwd [-r files] -sa
passwd [-r files] -s [name]
passwd [-r files] [-d|-l|-N|-u] [-f] [-n min] [-w warn] [-x max] name
passwd -r nis [-eg] [name]
passwd -r nisplus [-egh] [-D domainname] [name]
passwd -r nisplus -sa
passwd -r nisplus [-D domainname] -s [name]
passwd -r nisplus [-D domainname] [-l|-N|-u] [-f] [-n min] [-w warn]
[-x max] name
passwd -r ldap [-egh] [name]
Invalid combination of options
что не так?
>[оверквотинг удален]
> passwd -r nisplus [-D
>domainname] -s [name]
> passwd -r nisplus [-D
>domainname] [-l|-N|-u] [-f] [-n min] [-w warn]
>
> [-x max] name
> passwd -r ldap [-egh]
>[name]
>Invalid combination of options
>что не так?видимо, man passwd.
программа понимает (как почти все программы в *NIX) несколько опций
следующих за одним знаком '-'. таким образом
> passwd [-r files] -sопция -s существует, а -t наверное нет.
еще. в *NIX часто стандартный входной поток обозначается просто как '-'
например: cat datafile | progname -
>[оверквотинг удален]
>>что не так?
>
>видимо, man passwd.
>программа понимает (как почти все программы в *NIX) несколько опций
>следующих за одним знаком '-'. таким образом
>> passwd [-r files] -s
>
>опция -s существует, а -t наверное нет.
>еще. в *NIX часто стандартный входной поток обозначается просто как '-'
>например: cat datafile | progname -ну это понятно, но проблемы это понимание не решает=) Может есть другие варианты у кого?
[...]
>ну это понятно, но проблемы это понимание не решает=) Может есть другие
>варианты у кого?А что не ясно-то? passwd из Соляры твоей не знает ничего про опцию --stdin. Такую опцию не все passwd знают, вот в CentOS она поддерживается, а в моём ALT Linux -- нет.