현재 프롬프트에 대한 명령 출력

현재 프롬프트에 대한 명령 출력

(다음) 명령 프롬프트에 텍스트를 출력하는 명령이 있습니까?

실행될 때 일부 명령을 실행한 다음 실행할 다음 명령을 "제안"하는 함수를 작성하고 싶습니다.

~/Desktop $ foo
~/Desktop $ some_new_command_which_user_did_not_enter

답변1

이 시도:

xvkbd -xsendevent -text ls

확인하다http://homepage3.nifty.com/tsato/xvkbd/

답변2

모든 POSIX 호환 쉘은 vi명령 편집 모드를 구현합니다. 이는 .Edit 모드 set -o vi와 같이 구별 될 수 있습니다 .set +o vivi끼워 넣다그리고주문하다모델. 각 프롬프트의 기본값은 다음과 같습니다.입력하다모드이지만 ESC키를 누르면 컨텍스트가 다음으로 전환됩니다.주문하다모델.

일부 관련 기능이 모드의포함하다:

  • <control>-L
    • 현재 명령줄을 다시 그립니다. 다시 그리기 선의 동일한 위치에 커서를 놓습니다.
  • #
    • 현재 명령줄의 시작 부분에 이 문자를 삽입 '#'하고 결과 편집 줄을 주석으로 처리합니다. 이 줄은 명령 기록에 입력되어야 합니다 fc.
  • =
    • 현재 명령줄 위치에서 빅워드에 대해 가능한 쉘 단어 확장을 표시합니다(워드 확장 참조).
  • @letter
    • 명명된 별칭의 값을 삽입합니다._편지. 기호 문자는 이식 가능한 문자 집합의 단일 알파벳 문자를 나타냅니다. 구현은 확장으로 추가 문자를 지원할 수 있습니다. 만약에alias _편지삽입의 일부로 실행되어야 하는 추가 편집 명령이 포함되어 있습니다. 그렇지 않다면alias _편지활성화되면 이 명령은 아무런 효과가 없습니다.

참고: 효과 @_[letter]는 반복적이며 텍스트 입력 효과로 특수 문자를 이스케이프할 수 있습니다.CONTROL+V[CHAR]

  • [count]-

    • 현재 명령줄을 다음으로 설정합니다.세다쉘 명령 기록의 이전 명령줄입니다. 개수를 지정하지 않으면 기본값은 1입니다. 커서는 새 명령의 첫 번째 문자에 위치해야 합니다. 이 쉘에 유효한 최대 명령 수가 초과되면 or k명령 이 취소됩니다.-( $HISTSIZE환경 변수의 영향을 받음), 터미널 알람이 발생하고 명령이 유효하지 않습니다.
  • [count]y스포츠

    • 양키(즉, 사본)현재 커서 위치부터 모션 명령 결과 위치까지의 문자버퍼 저장. 숫자계산모션 명령에 적용되어야 합니다. 동작 명령이 명령줄의 시작 부분을 향해 이동하는 경우 현재 커서 위치 아래의 문자는 끌어온 문자 세트에 포함되어서는 안 됩니다. 모션 명령이 이면 y현재 명령줄 전체를 저장 버퍼로 가져와야 합니다. 현재 커서 위치는 변경되지 않은 상태로 유지되어야 합니다. 개수가 현재 커서 위치와 모션 명령이 커서를 이동하는 명령줄 끝 사이의 문자 수보다 큰 경우, 위 범위에 있는 나머지 문자는 오류로 간주되어서는 안 됩니다.
  • Y

    • 현재 커서 위치에서 줄 끝까지 문자를 저장 버퍼로 드래그합니다. 현재 문자 위치는 변경되지 않은 상태로 유지되어야 합니다.
  • [count]p

    • 현재 커서 위치 뒤에 보유 버퍼의 현재 내용 복사본을 배치합니다. 현재 커서 위치는 저장 버퍼에서 입력된 마지막 문자로 이동해야 합니다. 개수는 저장 버퍼의 복사본 수를 나타내야 합니다.
  • [count]P

    • 현재 커서 위치 바로 앞에 보유 버퍼의 현재 내용 복사본을 배치합니다. 현재 커서 위치는 저장 버퍼에서 입력된 마지막 문자로 이동되어야 합니다. 개수는 저장 버퍼의 복사본 수를 나타내야 합니다.

쉘별 라인 편집기를 통해 유사한 효과를 많이 생성할 수 있습니다.(예 : bash'의 readline명령 또는 BSD를 통해 - 라이센스가 부여됨 )bind~/.input.rceditline~/.editrc.

관련 정보