programing

명령줄 매개 변수에서 "-"(대시)의 마법은 무엇입니까?

madecode 2023. 5. 11. 23:14
반응형

명령줄 매개 변수에서 "-"(대시)의 마법은 무엇입니까?

예:

  • ISO 이미지를 생성하여 CD에 직접 굽습니다.

    mkisofs -V Photos -r /home/vivek/photos | cdrecord -v dev=/dev/dvdrw -

  • 이전 디렉터리로 변경합니다.

    cd -

  • 포트 12345를 수신하고 전송된 데이터를 untar합니다.

    nc -l -p 12345 | tar xvzf -

대시의 목적과 사용 방법은 무엇입니까?

벌거벗은 사람을 말하는 거라면-말에tar파일을 사용하려는 많은 명령에서 흔히 볼 수 있는 명령입니다.

실제 파일 이름이 아닌 표준 입력 또는 출력을 지정할 수 있습니다.

당신의 첫 번째와 세 번째 예가 그렇습니다.예를 들어,cdrecord명령이 표준 입력(생성된 ISO 이미지 스트림)을 사용하고 있습니다.mkisofs)에 직접 작성합니다./dev/dvdrw.

와 함께cd명령어는 디렉터리를 변경할 때마다 원본 디렉터리를 저장합니다.네가 한다면.cd특별한 것과 함께-"디렉토리 이름"은 실제 디렉터리 대신 기억된 디렉터리를 사용합니다.이를 사용하면 두 디렉터리를 쉽게 전환할 수 있습니다.

다른 명령이 처리할 수 있습니다.-다른 특별한 값으로.

마법이 아닙니다.일부 명령은 다음을 해석합니다.-stdin 또는 stdout에서 읽기를 원하는 사용자로서 셸에 대한 특별한 내용은 없습니다.

-각 명령이 의미하는 바를 정확히 의미합니다.몇 가지 일반적인 관례가 있는데, 다른 답변에서 대부분의 예를 보셨을 텐데, 그 중에서 100% 보편적인 것은 없습니다.

마법 같은 건 없어요-셸에 관한 한 문자(셸 자체와 일부 내장 명령어 제외)cd그리고.echo전통적인 방식으로 사용).어떤 캐릭터들은, 예를 들면.\,',그리고."어디에 나타나든 특별한 의미를 갖는 "특징"입니다.이것들은 "쉘 메타 문자"입니다. -그렇지 않습니다.

지정된 명령어의 사용 방법을 위해-해당 명령에 대한 설명서를 읽습니다.

프로그램의 표준 입력 스트림을 사용하라는 의미입니다.

의 경우에는cd이전 작업 디렉터리로 변경하는 것은 다른 의미입니다.

마법은 컨벤션에 있습니다.수천 년 동안 사람들은 옵션과 인수를 구별하기 위해 '-'를 사용했고, 파일 이름에서 '-'를 적절하게 stdin 또는 stdout을 의미하기 위해 사용했습니다.관습의 힘을 과소평가하지 마십시오!

언급URL : https://stackoverflow.com/questions/8045479/whats-the-magic-of-a-dash-in-command-line-parameters

반응형