나는 명령을 사용했다
socat - foo
내가 입력한 텍스트는 foo 주소로 직접 전송됩니다. !
쉘 명령을 구문 분석한 다음 명령의 출력을 foo로 보낼 수 있는 표준 입력(ed 줄을 따라)에 대한 일반 래퍼가 있습니까 ?
답변1
글쎄, 당신은 이것을 할 수 있습니다 :
ls | socat - foo
또는:
ls | socat -u - foo
foo
에서 아무것도 반환되지 않을 것으로 예상하는 경우.
또는 socat
생성 하여 ls
:
socat exec:ls foo
런타임에 명령을 실행하려는 경우
socat - foo
터미널에서 출력을 foo로 보내면 GNU에서 다음을 screen
사용할 수 있습니다. 키보드에서 입력하는 것처럼 Ctrl+A:exec .!. ls
실행되어 출력을 입력 ls
으로 만듭니다 .screen
ls
아니면 다음과 같이 할 수도 있습니다(GNU 사용 sed
):
sed 's/^!//e' | socat - foo
!
like로 시작하는 모든 입력은 !echo test
다음 명령의 출력으로 대체됩니다 !
.
답변2
표준 입력을 위한 범용 래퍼가 있습니까? 쉘 명령을 구문 분석한 다음 명령의 출력을 foo로 보낼 수 있습니까?
아마도 이것이 당신에게 영감을 줄 것입니다:
$ echo pwd | sh
/
$ echo pwd | sh | wc
1 1 2
sh는 필터입니다. 표준 입력에서 명령을 읽고, 실행하고, 표준 출력으로 출력을 내보낼 수 있습니다.