curl
명령 에는 --data
옵션 값 앞에 기호가 붙을 때 파일 내용을 바꾸는 옵션이 있습니다. @
예를 들어 다음과 같습니다.
curl -X POST --data @abc.json hostaddr.com
abc.json
파일 내용은 게시물 요청 본문으로 전송됩니다. 이 옵션은 게시물 본문이 길거나 여러 줄인 경우에 편리합니다.
Linux 셸 또는 Linux 셸에서 zshell
이 작업을 어떻게 수행합니까? 다음 문자열을 파일 경로로 처리하고 해당 문자열을 파일 내용으로 바꾸는 glob pattern
/ 가 있습니까 ?prefix operator
답변1
대부분의 경우 이는 다음과 같습니다.리디렉션 연산자( <
):
$ tr 'a' 'b' /path/to/file ## fails because `tr` works on streams
tr: extra operand ‘file’
Try 'tr --help' for more information.
$ tr 'a' 'b' < /path/to/file ## works because the file's contents are passed to tr
명령 대체 및 리디렉션 연산자는 모두 POSIX에 의해 정의되며(위의 명령 대체 링크 참조) 거의 모든 쉘에서 사용할 수 있습니다. 또 다른 관련 도구는명령 대체. 작성하는 방법에는 두 가지가 있습니다 . 명령을 백틱( )으로 묶 `command`
거나 Order라고 작성할 수 있습니다$(command)
따라서 파일의 내용을 사용하려면 다음과 같이 작성할 수 있습니다.
command $(cat /path/to/file)
또는
command `cat /path/to/file`