임의의 암호를 생성하고 싶습니다.
</dev/urandom tr -dc [:print:] | head -c 64
우분투를 실행하는 내 노트북에서는 의도 한대로 인쇄 가능한 문자 만 생성됩니다. 하지만 Red Hat Enterprise Linux를 실행하는 학교 서버에 ssh를 입력하고 거기에서 실행 3!ri�b�GrӴ��1�H�<�oM����&�nMC[�Pb�|L%MP�����9��fL2q���IFmsd|l�K
하면 전혀 작동하지 않는. 여기서 무엇이 잘못 될 수 있습니까?
현재 GNU tr 은 1 바이트 문자 만 완전히 지원합니다. 따라서 멀티 바이트 인코딩을 사용하는 로케일에서는 출력이 이상 할 수 있습니다.
$ </dev/urandom LC_ALL=vi_VN.tcvn tr -dc '[:print:]' | head -c 64
`�pv���Z����c�ox"�O���%�YR��F�>��췔��ovȪ������^,<H ���>
쉘은 다중 바이트 문자를 올바르게 인쇄하지만 GNU tr
는 인쇄 할 수 없다고 생각하는 바이트를 제거합니다.
안정적으로 유지하려면 로케일을 설정해야합니다.
$ </dev/urandom LC_ALL=C tr -dc '[:print:]' | head -c 64
RSmuiFH+537z+iY4ySz`{Pv6mJg::RB;/-2^{QnKkImpGuMSq92D(6N8QF?Y9Co@
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다