소프트 링크는 파일 이름을 첫 번째 인수로 대상에 전달합니까?

소프트 링크는 파일 이름을 첫 번째 인수로 대상에 전달합니까?

https://github.com/adurbin/iotools

원래 사용법은 다음과 같습니다.

./iotools rdmsr x xxxxx

내가 할 때 :

ln -sf iotools rdmsr

그러면 다음과 같이 할 수 있습니다.

rdmsr x xxxxx

왜? ?

소프트 링크를 만들 때 파일 이름을 첫 번째 인수로 전달하기 때문입니까?

답변1

관례적으로 모든 명령의 인수 목록에는 명령 자체가 포함됩니다. 당신이 달릴 때

./iotools rdmsr x xxxxx

iotools./iotools매개변수 , rdmsrx실행을 사용하십시오 xxxxx. 당신이 달릴 때

rdmsr x xxxxx

iotools매개변수를 사용 rdmsr하고 x을 실행합니다 xxxxx.

대부분의 명령은 두 번째 인수(번호가 0부터 시작하므로 숫자 1)부터 시작하는 인수를 확인합니다. 하지만 일부는,포함하다iotools, 필요한 경우 첫 번째 인수를 고려합니다. 경우에는 iotools먼저 두 번째 인수( argv[1])가 명령인지 확인하고, 그렇다면 이를 사용하고, 그렇지 않으면 첫 번째 인수( argv[0])가 명령인지 확인합니다.

관련 정보