디스크에 쓰지 않고 한 명령의 출력을 다른 명령으로 파이프하고 싶지만 두 번째 명령은 대화형이므로 값을 전달하면 STDIN
두 번째 명령에 a가 할당되지 않습니다 pty
. 따라서 두 번째 명령은 이 값의 로드만 허용합니다. a) 설계에 따른 아카이브).
내가 달성하고 싶은 것은 다음과 같습니다.
generic-vault --decrypt "my-secret" | interactive-command --file /proc/self/fd/0
동일한 사용자가 실행하는 다른 프로세스가 첫 번째 프로세스의 출력을 볼 수 없도록 방지하면서 이를 수행할 수 있는 방법이 있습니까?
답변1
답변2
파이프(및 bash)를 사용하면 다음을 수행할 수 있습니다.
mkfifo mypipe
while sleep 1
do
generic-vault --decrypt "my-secret" > mypipe
done
그런 다음 다음을 통해 정보에 액세스합니다.
read data < mypipe
interactive-command --file $data