bash '--'의 의미
예를 들어 리눅스에 있는 파일 이름이 다음과 같다고 하자.
$ ls -la
합계 8
-rw-rw-r-- 1 cublr cublr 0 5월 11 20:48 -TEST
-rw-rw-r-- 1 cublr cublr 0 5월 11 20:48 -X
-rw-rw-r-- 1 cublr cublr 0 5월 11 20:48 -rf
drwxrwxr-x 2 cublr cublr 4096 5월 11 20:48 .
drwxr-xr-x 44 cublr cublr 4096 5월 11 20:48 ..
만약 이 파일을 지우려 하면 어떻게 할 수 있을까?
$ rm -X
rm: 부적절한 옵션 -- 'X'
Try 'rm ./-X' to remove the file '-X'.
Try 'rm --help' for more information.
$ rm \-X
rm: 부적절한 옵션 -- 'X'
Try 'rm ./-X' to remove the file '-X'.
Try 'rm --help' for more information.
이렇게 -X는 파일명이 아니라 rm의 파라미터로 인식하게 된다. 꼭 rm뿐만이 아니라도 이런 식으로 인자를 선택함에 있어서 파라미터로 인식되어 원하는대로 동작하지 않는 경우가 발생하게 되는데, --
를 통해 이를 해결할 수 있다.
$ rm -- -X
$ rm -- -TEST
$ rm -- -rf
$ ls -la
합계 8
drwxrwxr-x 2 cublr cublr 4096 5월 11 20:52 .
drwxr-xr-x 44 cublr cublr 4096 5월 11 20:52 ..
--
는 명령어에 더 이상의 파라미터는 없음을
알려준다.