명령 줄 프롬프트 다음에 인쇄하여 명령을 제안 할 수있는 쉘 스크립트를 작성하고 싶습니다. 그런 다음 스크립이 종료 된 후 사용자는 [enter] 키를 눌러이 제안 된 명령을 실행하기 만하면됩니다.
내가 bash를 처음 사용했기 때문에 이것이 가능한지조차 알지 못합니다. 복사-과거 명령 사용, 커서 이동, $ PS1 변수 사용, 적절한 방법 찾기에 대해 생각했습니다 ..
누구든지 그러한 기능을 구현할 수있는 방법에 대한 단서를 가지고 있습니까?
의견에있는 Landen의 제안에 따라 (정말 감사합니다!), 제 문제에 대한 해결 방법을 만들 수있었습니다.
이 해결 방법은 xautomation 패키지 ( xte
명령, 에뮬레이션 키 누름)가 필요하며 매우 강력하지 않으며 xautomation의 키보드 레이아웃 처리 및 시스템 바로 가기에 따라 달라질 수 있습니다. 예를 들어 Unity HUD의 단축키를 변경해야했습니다.
그러나 내 명령이 매우 빠르며 대부분 개인용이므로이 솔루션은 내 요구에 완벽하게 부합합니다.
COMMAND_PASSED='sudo apt-get update'
# Displays the content of $COMMAND_PASSED on the next prompt
xte "str $COMMAND_PASSED"
sleep 0.1
tput cub ${#COMMAND_PASSED}
sleep 0.1
및 tput cub ${#COMMAND_PASSED}
명령은 명령 프롬프트 전에 표시되는 키를 방지하기 위해 필요하다.
sleep 0.1
전체 명령이 프롬프트 전에 인쇄되도록합니다.
tput cub ${#COMMAND_PASSED}
커서를 뒤로 이동하여 불필요한 인쇄물이 모두 지워 졌는지 확인합니다.
모두 감사합니다!
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다