이전 명령을 모두 실행하기 전에 입력을 파이프하여 확인 프롬프트를 강제로 표시할 수 있는 *nix 도구가 있습니까? 웹 페이지에 명령줄 조각을 넣을 수 있는 도구를 고려 중이지만 명령을 잘라내어 붙여넣거나 실수로 CR/LF를 붙여넣어도 대상 컴퓨터가 손상되지 않도록 보장하는 도구를 고려 중입니다.
다음은 "confirm"이라는 도구가 있고 dev를 "safedev"로 바꾸는 간단한 예입니다.
head -c 32 /dev/urandom | sudo openssl enc -rc4 -nosalt -pass stdin -in /dev/zero -out /dev/safedev | confirm
이 문제는 브라우저에서 명령을 잘라내고 붙여넣어 MBR을 깨뜨린 경험에서 비롯되었으며, sda를 sdc로 변경할 기회가 생기기 전에 실수로 CR/LF를 잡고 실행을 시작했습니다. 기본 OS를 복원/다시 생성하려면 MBR을 다시 생성하고 기존 파티션에 Ubuntu Gnome을 다시 설치해야 했습니다.
이 도구가 존재하지 않는 경우 명령을 실행하기 전에 확인을 강제하는 명령을 웹 페이지에 제공하는 다른 방법이 있습니까? 어쩌면 이런 게 있지 않을까요?
confirm && head -c 32 /dev/urandom | sudo openssl enc -rc4 -nosalt -pass stdin -in /dev/zero -out /dev/safedev
답변1
CRLF가 포함된 터미널에 복사한 텍스트를 붙여 넣으면 접두사가 붙은 명령이 저장되지 않습니다.끝모든 소가 헛간을 떠나면 파이프가 문을 닫습니다. 일부 터미널 에뮬레이터(예:iTerm2OSX의 경우) 이러한 문제를 완화하기 위해 최근 CRLF 감지 및 차단이 추가되었습니다.
임베더 CRLF 문제를 해결한 후에는 다음과 같이 원하는 것을 가짜로 만들 수 있습니다.
/bin/false && ( your commands here )
원하는 항목이 갖고 있는 항목인지 확인하고 나면 을(를) 삭제할 수 있습니다 /bin/false &&
.
답변2
답변3
~처럼돕고티의 답변, 그러나 로켓 과학은 적습니다. 다음을 입력하세요 #
.
#(여기에 명령이 있습니다)