유닉스 cli 명령을 창으로 변환


0

gethttpsforfree.com을 사용하여 인증서를 받고 있습니다. 나는 3 단계에 붙어 있습니다. 그들은 명령을 실행하기를 원하지만 유닉스 명령이며 Windows에 있습니다. 명령은

PRIV_KEY=./account.key; echo -n "eyJub25jZSI6...cGRmIn0" | openssl dgst -sha256 -hex -sign $PRIV_KEY

이제 이것은 cmd ofcourse에서 작동하지 않습니다. 그러나 나는 cli에 그렇게 좋지 않다. 내가 작동하게 된 가장 가까운 것은

echo -n "eyJub25jZSI6...cGRmIn0" | openssl dgst -sha256 -hex -sign accout.key

결과물이 나오지만 사이트가이를 수락하지 않습니다. 그래서 나는 | win / unix cli에서 다른 의미를 갖기 때문에 문제입니다. 그래서 그것을 cmd 상당으로 변환하는 데 도움이 필요합니다


내가 아는 한 파이프 ( |)는 Unix와 Windows에서 동일하게 작동합니다. Virtual Box 를 다운로드 하고 Ubuntu VM을 세우고 Linux 터미널에서 명령을 실행하는 것이 더 쉬울 수 있습니다 . 그렇지 않으면 줄 끝을 범인으로 간주합니다- CR/LF(Windows) 대 LF(Linux).
jww

그래, 난 그냥 명령을 실행하기 위해 슈퍼 클린 윈도우 설치에서 VM을 설치하고 부팅하고 싶지 않았다 : /
Achshar

1
@jww Pipe는 Windows에서 효과적으로 동일하지만 CMD echo에서는 지원 -n하지 않으며 Unix 쉘과 같이 따옴표와 후행 공백을 제거하지 않습니다. 메모장을 사용 ey...n0하여 파일 에 원하는 문자 (줄 바꿈 없음)를 입력 한 다음openssl dgst ... <filename
dave_thompson_085

@ dave_thompson_085 파일 이름이 키 파일의 위치를 ​​잘 모르겠습니다. 두 파일이 모두 있습니까? 어떤 순서로? 좀 더 자세히 설명해 주시겠습니까?
Achshar

실제로 중요하지 않습니다. CMD는 리디렉션을 실행하고 자식 프로그램에 전달 된 명령 줄에서 리디렉션을 제거합니다. 유닉스 쉘은 CMD가 수행하지 않는 인수와 동일하지만 단어 분리 및 인수를 수행합니다. OpenSSL과 같은 C 프로그램의 경우 C 런타임은 Windows에서이를 수행합니다. 달리 할 강력한 이유가 없다면 명령의 끝; 이것은 읽기 쉽고 찾기 쉬운 경향이 있으므로 (필요하지는 않지만) 제안합니다.
dave_thompson_085
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.