한 줄로 명령 출력을 인쇄하고 사용하는 방법은 무엇입니까?

한 줄로 명령 출력을 인쇄하고 사용하는 방법은 무엇입니까?

mktemp결과를 명령에 대한 인수로 전달하고 싶습니다 gcc -o. gcc -o $(mktemp)결과는 결과를 사용하지만 결과를 파악해야 합니다.

내가 생각할 수 있는 유일한 것은 이지만 gcc -o $(out=$(mktemp); echo $out)이것은 콘솔에 값을 인쇄하지 않고 대신 내가 아는 한 올바른 매개 변수 값으로 사용됩니다.

mktemp결과를 콘솔에 인쇄 할 수 있는 방법이 있습니까 ?

나는 스크립트에서 이 문제를 해결할 수 있는 능력이 있습니다. 귀하가 제안하고 싶은 한 줄 솔루션으로 저의 지식을 넓히고 싶습니다.

bash우분투 19.04에서 사용하고 싶습니다 .

답변1

tee와는 어때요 /dev/tty?

$ gcc -o $(mktemp | tee /dev/tty) hello.c
/tmp/tmp.UBSSnulNn2

$ /tmp/tmp.UBSSnulNn2
Hello, world!

관련된:

답변2

전환 gcc -o $(out=$(mktemp); echo $out):

out=$(mktemp); echo "$out"; gcc -o "$out" hello.c

...나중에 사용할 수 있도록 경로를 변수에 편리하게 유지합니다. (아마도 mktemp임의 이름 생성의 아름다움을 감상하기 위해 출력의 경로만 보고 싶지는 않을 것입니다 . 그렇죠? 해당 경로를 다른 곳에서 사용하기를 원할 것입니다.)

관련 정보