socat용 쉘 명령 래퍼

socat용 쉘 명령 래퍼

나는 명령을 사용했다

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으로 만듭니다 .screenls

아니면 다음과 같이 할 수도 있습니다(GNU 사용 sed):

sed 's/^!//e' | socat - foo

!like로 시작하는 모든 입력은 !echo test다음 명령의 출력으로 대체됩니다 !.

답변2

표준 입력을 위한 범용 래퍼가 있습니까? 쉘 명령을 구문 분석한 다음 명령의 출력을 foo로 보낼 수 있습니까?

아마도 이것이 당신에게 영감을 줄 것입니다:

$ echo pwd | sh
/
$ echo pwd | sh | wc
1       1       2

sh는 필터입니다. 표준 입력에서 명령을 읽고, 실행하고, 표준 출력으로 출력을 내보낼 수 있습니다.

관련 정보