cat
및 백틱을 사용하여 파일의 내용을 명령에 붙여 넣을 수 있습니다 .
ls `cat filenames`
반대로 문자열을 (임시) 파일 이름으로 바꾸는 방법이 있습니까?
gcc -o cpuburn `uncat "main(){while(1);}"`.c
gcc의 표준 입력에 소스 코드를 전달할 수 있습니다. gcc
파일 이름이 지정되지 않았 으므로 -x
출력 언어가 무엇인지 알려주 는 옵션 이 필요합니다 . here 문자열 (한 줄에 가장 편리함), here 문서 또는 파이프 를 통해 입력을 전달할 수 있습니다 .
gcc -o cpuburn -x c - <<<'main(){while(1);}'
명령 줄에 파일 이름이 필요한 경우 프로세스 대체 를 사용하여 콘텐츠를 생성 할 수 있습니다 . 파일 이름을 제어 할 수는 없습니다 (예 :) /dev/fd/42
.
gcc -o cpuburn -x c <(echo 'main(){while(1);}')
임시 파일의 이름을 정말로 제어해야하는 경우 임시 파일을 수동으로 만들고 제거하는 더 복잡한 것이 필요합니다.
src=$(mktemp XXXXXXXXXX.c)
trap 'rm "$src"' EXIT INT TERM HUP
echo 'main(){while(1);}' >"$src"
gcc -o cpuburn "$src"
(이 답변은 쉘이 bash, zsh 또는 ksh93이라고 가정합니다.)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다