A abordagem que você está mostrando acima captaria a saída do subcomando, ie. $(...)
na sua variável, $bar_foo
. Ao usar openssl
, você pode fornecer a senha usando as opções -in
ou -stdin
.
Exemplo
$ myvar=$(openssl passwd -1 -salt "foobar" -stdin <<< "blah")
$ echo $myvar
$1$foobar$1ips4/cyJvjUjCj8w4exx0
Geralmente, é aconselhável colocar a senha em um arquivo e, em seguida, chamar openssl
, pois isso a manterá fora de seu histórico e evitará que ela seja exposta de forma muito aberta.
UPDATE # 1
O OP acabou usando este método para solicitar ao usuário sua senha usando read
e, em seguida, armazenando-a em uma variável, pass1
.
$ read -p "Password: " -s pass1
Esta variável pode então ser usada como entrada para o comando openssl
.
$ myvar=$(openssl passwd -1 -salt "foobar" -stdin <<< "$pass1")
$ echo $myvar
$1$foobar$1ips4/cyJvjUjCj8w4exx0