Генератор паролей

переучил bash с работы в универе и создал генератор паролей. Я хочу, чтобы иметь возможность выводить результаты в текстовый файл, кто-нибудь может помочь? мой код до сих пор:

#!/bin/bash

#Password Generator

#Account Name
echo "What account is this password for"
read account

#username
echo "Please give your username"
read username

#ask for password length

echo "please provide a password length"
read length

echo "Your password is"
openssl rand -base64 $length

Я хотел бы иметь возможность выводить результаты из учетной записи, имя пользователя и пароль в текстовый файл Заранее благодарен за любую помощь, и я надеюсь, что это запрос имеет смысл!

0
задан 26 March 2016 в 03:56

2 ответа

Существует несколько способов сделать это, но в конечном счете только 2 подхода: передайте по каналу в файл или канал к программе, которая пишет в файл.

я создал некоторые измененные версии Ваших сценариев ниже, демонстрируя некоторые методы.

Вывод В Новый Файл (Gedit):

#!/bin/bash
#Password Generator A 1.1
#A random password generator written for Bash.
#Dependencies: Gedit, OpenSSL
##Request Inputs
###Account Name
echo -n "Account Name:"
read account
###Username
echo -n "Username:"
read username
###Password Length
echo -n "Password length:"
read length
##Generate Password 
password=$(openssl rand -base64 $length)
##Generate Result
###Merge variables
output=$(echo -e "Account Name:${account}\nUsername:${username}\nPassword:${password}")
##Output result
###Output to terminal
echo "$output"
###Output to new file in Gedit
echo "$output" | gedit -
exit 0

Вывод В Новый Файл (Нано):

#!/bin/bash
#Password Generator B 1.1
#A random password generator written for Bash.
#Dependencies: Nano, OpenSSL
##Request Inputs
###Account Name
echo -n "Account Name:"
read account
###Username
echo -n "Username:"
read username
###Password Length
echo -n "Password length:"
read length
##Generate Password 
password=$(openssl rand -base64 $length)
##Generate Result
###Merge variables
output=$(echo -e "Account Name:${account}\nUsername:${username}\nPassword:${password}")
##Output result
###Output to terminal
echo "$output"
###Output to new file in Nano
echo "$output" | nano -
exit 0

Вывод К Текстовому файлу, Расположенному В "~ / вывод":

#!/bin/bash
#Password Generator C 1.1
#A random password generator written for Bash.
#Dependencies: OpenSSL
##Request Inputs
###Account Name
echo -n "Account Name:"
read account
###Username
echo -n "Username:"
read username
###Password Length
echo -n "Password length:"
read length
##Generate Password 
password=$(openssl rand -base64 $length)
##Generate Result
###Merge variables
output=$(echo -e "Account Name:${account}\nUsername:${username}\nPassword:${password}")
##Output result
###Output to terminal
echo "$output"
###Output to file
echo "$output" > "$HOME/output"
exit 0

Вывод К Текстовому файлу, Расположенному В "~ / вывод" (Используя Мишень):

#!/bin/bash
#Password Generator D 1.1
#A random password generator written for Bash.
#Dependencies: Tee, OpenSSL
##Request Inputs
###Account Name
echo -n "Account Name:"
read account
###Username
echo -n "Username:"
read username
###Password Length
echo -n "Password length:"
read length
##Generate Password 
password=$(openssl rand -base64 $length)
##Generate Result
###Merge variables
output=$(echo -e "Account Name:${account}\nUsername:${username}\nPassword:${password}")
##Output result
###Output to terminal & file
echo "$output" | tee "$HOME/output"
exit 0

Вывод К Текстовому файлу (Пользователь выбирает):

#!/bin/bash
#Password Generator E 1.1
#A random password generator written for Bash.
#Dependencies: OpenSSL
##Request Inputs
###Account Name
echo -n "Account Name:"
read account
###Username
echo -n "Username:"
read username
###Password Length
echo -n "Password length:"
read length
###Save Location
echo -n "Save to:"
read savelocation
##Generate Password 
password=$(openssl rand -base64 $length)
##Generate Result
###Merge variables
output=$(echo -e "Account Name:${account}\nUsername:${username}\nPassword:${password}")
##Output result
###Output to terminal
echo "$output"
###Output to file
echo "$output" > "$savelocation"
exit 0
0
ответ дан 26 March 2016 в 13:56
  • 1
    Выключенный жесткий диск и это загружаются без проблемы. Don' t хотят отметить, как решено, пока данные по старому жесткому диску успешно не переданы. – gipp1978 29 June 2017 в 01:34

Можно перенаправить любой вывод с эхом как: cmd> имя файла или в Вашем случае:

openssl rand -base64 $length > passwords.txt
0
ответ дан 26 March 2016 в 13:56
  • 1
    Спасибо за ответ, но начиная с I' ve устанавливают BIOS для начальной загрузки от внешнего диска (на обоих компьютерах), и это работает над моим ноутбуком, почему копал бы потребность, которая будет восстановлена для работы рабочего стола? Кроме того, I' ve выполняют восстановление начальной загрузки многие, многие, много раз на моем рабочем столе с подключенным внешним диском. Снова, это работает, как находится на моем ноутбуке с той же конфигурацией (набор BIOS для начальной загрузки от внешнего диска). – John 28 June 2017 в 05:14

Другие вопросы по тегам:

Похожие вопросы: