1

ファイル内のデータを暗号化するためにopensslを使用しています。

そのファイルのデータをシェル変数に割り当てる過程で、ファイルを動的に復号化し、awkを使用して変数に解析しようとしています。

$ myuser=$(echo | awk '{print $1}' | openssl aes-256-cbc -in encrypted -pass file:../password.txt -d) 
$ echo $myuser 
Bruce-Wayne Batman 0.0.0.0

エコーするだけのはずですがBruce-Wayne、どういうわけか私のawk命令が期待どおりに機能していません。

誰でも洞察を提供できますか?

4

2 に答える 2

1

配管が混乱しているようです:

$ myuser=$(openssl aes-256-cbc -in encrypted -pass file:../password.txt -d | awk '{print $1}')

Bruce-Wayne Batman 0.0.0.0つまり、効果的に次の最初のフィールドが必要です。

echo "Bruce-Wayne Batman 0.0.0.0" | awk '{print $1}'

行うことは、 (何もない)の出力をにパイプすることecho | awk '{print $1}'と同じです。echoecho awk

于 2013-01-17T13:59:21.507 に答える
1
myuser=$(openssl aes-256-cbc -in encrypted -pass file:../password.txt -d | awk '{print $1}') 

エコーは必要ありません。openssl コマンドの出力を awk する必要があります。私はあなたの password.txt を持っていないので、クリア テキスト バージョンを作成し、openssl コマンドを cat password.txt に置き換えました。あなたの注文を使用して、エコーで、私はあなたの出力を得ました。私の注文を使用して、エコーなしでブルース-ウェインを手に入れました。

于 2013-01-17T13:59:55.720 に答える