これまでのWebサーフィン中にgpgパスワードジェネレータの優れた追加機能を発見し、このコマンドを使用してエイリアスを調整することにしました。これはコードです
gpg --gen-random 1 20 | perl -ne'print "Your password: ";s/[\x00-\x20]/chr(ord($^N)+50)/ge;s/([\x7E-\xDB])/chr(ord($^N)-93)/ge;s/([\xDC-\xFF])/chr(ord($^N)-129)/ge;print $_, "\n"'
これまでに試したことは次のとおりです。
alias genpass()
{
gpg --gen-random 1 $1 | perl -ne'
print "Your password: ";
s/[\x00-\x20]/chr(ord($^N)+50)/ge;
s/([\x7E-\xDB])/chr(ord($^N)-93)/ge;
s/([\xDC-\xFF])/chr(ord($^N)-129)/ge;
print $_, "\n"'
}
ただし、新しいbashインスタンスを作成するとエラーが発生します。
bash: /home/user/.bashrc: line 18: syntax error near unexpected token `('
bash: /home/user/.bashrc: line 18: `alias genpass()'
このトークンを正しくエスケープする方法がわかりません。
答え1
必要でない場合は、別名ステートメントがあります。実際に作成したのは関数です。エイリアスという単語を関数に置き換えると、期待どおりに機能します。
実際、その機能も必要ありません。次の機能だけが期待どおりに機能します。
genpass()
{
gpg --gen-random 1 $1 | perl -ne'
print "Your password: ";
s/[\x00-\x20]/chr(ord($^N)+50)/ge;
s/([\x7E-\xDB])/chr(ord($^N)-93)/ge;
s/([\xDC-\xFF])/chr(ord($^N)-129)/ge;
print $_, "\n"'
}