파일 매개변수의 "-"는 무엇을 의미합니까? [복사]

파일 매개변수의 "-"는 무엇을 의미합니까? [복사]

-파이프된 bash 명령의 컨텍스트에서 역할 이름을 찾을 수 없습니다 .

  1. 캐릭터 이름이 뭔가요 -?
  2. 스크립트에서 더 읽기 쉬운 것으로 바꿀 수 있나요?

명령 예:

echo -ne "my command" | socat - /dev/somefile

답변1

여기서 이것은 함수가 -아닙니다 . 에 따르면 :bashsocatman socat

ADDRESS SPECIFICATIONS
...
For some keywords there ex‐ist synonyms (’-’ for STDIO, TCP for TCP4).
...
EXAMPLES
       socat - TCP4:www.domain.org:80

              transfers data between STDIO (-) and a TCP4 connection to port  80  of  host  www.do‐
              main.org. This example results in an interactive connection similar to telnet or net‐
              cat.  The  stdin terminal parameters are not changed, so you may close the relay with
              ^D or abort it with ^C.

이는 -STDIO를 의미합니다.
나는 socat이전에 그것을 사용해 본 적이 없지만 키보드로 이야기함으로써 무언가를 입력하고, 입력한 내용이 로 전송되고 socat - TCP4:www.domain.org:80, 해당 주소에서 수신한 내용이 터미널에 인쇄된다는 것을 추측할 수 있습니다.www.domain.org:80www.domain.org:80

-주로 stdin을 나타내는 다른 프로그램에서도 볼 수 있습니다.

답변2

-문자는 종종 "대시", "하이픈" 또는 "빼기 기호"와 같은 의미로 사용됩니다. 나는 많은 사람들이 그것을 "tac" 또는 "tack"이라고 부르는 것을 들었습니다.

파일 이름 대신 인수로 사용한다는 것은 일반적으로 표준 입력 또는 표준 출력을 사용한다는 의미입니다. 예를 들어, cat - > myfile표준 입력(예: 파이프로 입력하거나 터미널에 입력)으로 보내는 모든 내용은 새로 생성된 이라는 파일에 저장됩니다 myfile.

그러나 이것은 일반적이지 않습니다. 이 man페이지를 확인하여 사용 중인 도구가 이 관용어를 지원하는지 확인 하세요 .

관련 정보