실제로 스크립트의 출력인 특수 파일을 Linux에서 만들 수 있습니까? [폐쇄]

실제로 스크립트의 출력인 특수 파일을 Linux에서 만들 수 있습니까? [폐쇄]

실제로 스크립트의 출력인 mknod를 사용하여 Linux에서 특수 파일을 만들 수 있습니까?

예:

cat specialfile

산출:

testing 123

특수 파일 내에서:

echo "testing 123"

따라서 실제로 표시하는 대신 echo "testing 123"
스크립트 출력 결과를 표시합니다.testing 123

스크립트 이름과 출력 핸들이 편집될 수 있도록 두 개의 서로 다른 파일이어야 한다는 것을 알고 있습니다. specialfile.sh스크립트 및 specialfile핸들 의 경우

답변1

명명된 FIFO( mkfifo <name>)를 생성한 후 다음을 수행할 수 있습니다.

mkfifo my-fifo
echo "testing 123" > my-fifo

다른 셸에서 다음을 수행합니다.

dumb-program my-fifo

어리석은 프로그램에게 FIFO는 파일처럼 보입니다(정확히는 찾을 수 없기 때문에 그렇지는 않습니다). 이는 다음과 같이 익명 파이프를 사용하여 이를 수행하는 것과 동일합니다.

echo "testing 123" | dumb-program /dev/stdin

또는 다음과 같이 최신 셸에서 프로세스 대체를 사용합니다.

dumb-program <(echo "testing 123")

장치 노드에 대해서는 잘 모르겠지만 나에게는 문제에 잘못된 방식으로 접근하고 있는 것 같습니다.

답변2

cat명령줄의 하위 쉘에서 이를 실행할 수 있습니다 .

$(cat specialfile)

그러면 쉘이 출력을 해석합니다.

관련 정보