SHELL SCRIPT LINUX установить пароль с помощью ввода пользователя
Я хотел бы установить пароль для новой учетной записи в качестве ввода (строки), введенного пользователем. Кажется, это не работает. Между прочим, это часть более крупного сценария, я включил только соответствующие части в этот выпуск.
Поэтому, если я запускаю код, я получаю следующий код ошибки: /create-user.sh: line 36: user3:hej: command not found. Строка здесь другая, поскольку она является частью более крупного сценария. "hej" выше - это то, что я ввел в качестве входных данных для пароля при запуске кода. Я предполагаю, что оболочка думает, что "hej" должно быть командой, но это должна быть строка для пароля. Чтобы уточнить, hej должен быть паролем.
#!/bin/bash
# Get the username (login).
read -p "Please enter a username: " username
# Get the password.
read -p "Please enter an initial password: " password
# Create the account.
useradd "$username"
# Set the password.
chpasswd | "$username":"$password"
1 ответ
$username:$password
должен быть входом в команду. Вы выводите по конвейеру
chpasswd
команде, сформированной из этого. Поскольку имя пользователя: пароль не является именем команды, вы получите сообщение об ошибке.
Вы хотите:
chpasswd <<< "$username:$password"