Bash - 変数に格納された代替コマンドの入力キャプチャ

Bash - 変数に格納された代替コマンドの入力キャプチャ

変数に保存されている置換コマンドの入力をどのようにキャプチャできますか?

例:

次のコマンドの入力をどのようにキャプチャできますか?

bar_foo=$(openssl passwd -1 -salt "foobar")

ベストアンサー1

上記の方法は、サブコマンドの出力をキャプチャします。$(...)変数にを使用するとき、またはスイッチを使用してパスワードを指定$bar_fooできます。openssl-in-stdin

はい

$ myvar=$(openssl passwd -1 -salt "foobar" -stdin <<< "blah")
$ echo $myvar
$1$foobar$1ips4/cyJvjUjCj8w4exx0

通常、パスワードをファイルに保存してから覚えておくことをお勧めしますopenssl。これにより、記録でパスワードが保護され公開されているのを防ぐことができます。

アップデート#1

OPはこの方法を使用してユーザーにパスワードの入力を求め、readそれを変数に保存しましたpass1

$ read -p "Password: " -s pass1

opensslその後、この変数をコマンドへの入力として使用できます。

$ myvar=$(openssl passwd -1 -salt "foobar" -stdin <<< "$pass1")
$ echo $myvar
$1$foobar$1ips4/cyJvjUjCj8w4exx0

おすすめ記事