![한 줄로 명령 출력을 인쇄하고 사용하는 방법은 무엇입니까?](https://linux55.com/image/161750/%ED%95%9C%20%EC%A4%84%EB%A1%9C%20%EB%AA%85%EB%A0%B9%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EC%9D%B8%EC%87%84%ED%95%98%EA%B3%A0%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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
임의 이름 생성의 아름다움을 감상하기 위해 출력의 경로만 보고 싶지는 않을 것입니다 . 그렇죠? 해당 경로를 다른 곳에서 사용하기를 원할 것입니다.)