変数に保存されている置換コマンドの入力をどのようにキャプチャできますか?
例:
次のコマンドの入力をどのようにキャプチャできますか?
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