도구의 CLI에 직접 명령을 전달할 수 있는 방법이 있습니까?
예를 들어 다음과 같은 몇 가지 작업을 스크립트로 작성하고 싶습니다.
./OpenBTS < "tmsis"
결과를 검색할 필요가 없습니다(로그 파일에서 확인합니다). 내가 어떻게 그것을 깨달을 수 있었는지 아시나요? 이제 명령줄 매개변수를 사용하여 이 작업을 수행할 수 있는 방법이 생겼습니다. 적어도 제가 발견한 방법은 아닙니다. 그래서 내가 직접 알아내야 할 것 같습니다. 어떤 아이디어? 프롬프트를 감지하고 거기에 명령을 "붙여넣기"하는 방식으로 화면을 자동화할 수도 있습니다. Linux에 이를 위한 도구가 있습니까?
답변1
당신이 찾고 있는 것 같군요예상하다
답변2
다음과 같은 heredoc로 시도해 볼 수 있습니다.
./OpenBTS <<EOF
tmsis
EOF
다음 기록에서와 같이 입력을 제공합니다 sed
.
pax$ sed 's/^/Q/' <<EOF
> hello
> goodbye
> EOF
Qhello
Qgoodbye
또는 다음과 같이 직접 내용을 에코할 수도 있습니다.
echo "tmsis" | ./OpenBTS
다음 예에 따라:
pax$ echo 'hello
goodbye' | sed 's/^/Q/'
Qhello
Qgoodbye
답변3
이를 수행하는 특별한 방법은 없지만 도구가 stdin을 수신하는 경우 heredoc을 사용할 수 있습니다.
./sometool << EOF
action1
action2
quit
EOF