디렉터리 이름에 대한 잘못된 옵션 `b`

디렉터리 이름에 대한 잘못된 옵션 `b`

이 오류가 발생하는 이유는 무엇입니까? 이 set.conf를 가져오려고 합니다.

user@connect:~/testenv$ source $(cd $(dirname $0) && pwd)"/set.conf"
dirname: invalid option -- 'b'
Try 'dirname --help' for more information.
-bash: /home/tempuser/set.conf: No such file or directory

명령 프롬프트에 --$0을 추가해 보았지만 제대로 작동했습니다. 이것을 스크립트에서 어떻게 실행할 수 있나요?

답변1

$0스크립트 안에는 스크립트 이름이 있습니다.

프롬프트에서 이는 쉘의 이름이며 아마도 -bash귀하의 경우일 것입니다.

dirname선행 대시를 -b지원하지 않는 명령줄 옵션을 도입하는 것으로 간주합니다.

  1. 메시지가 표시되면 사용하는 코드가 작동하지 않습니다. 파일에 붙여넣고 파일을 실행할 수 있습니다.
  2. 한번 시도해 보세요 . 대부분의 명령을 사용하면 뒤에 오는 모든 항목을 옵션이 아닌 인수로 처리하도록 dirname -- $0작성할 수 있습니다 . --이 경우 문제가 해결되지는 않지만 문제가 무엇인지 더 명확해집니다.

관련 정보