지금까지 웹을 서핑하는 동안 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"'
}