항상 궁금합니다 : 대부분의 GNU / Unix 도구는 "빼기"형식의 옵션을 취하며 때로는 인수가 따릅니다. 빼기 이름을 가진 파일이 있으면 어떻게합니까?
$ ls
-f
$ rm -f
$ ls
-f
$ mv -f abc
mv: missing destination file operand after `abc'
Try `mv --help' for more information.
$ cat -f
cat: invalid option -- 'f'
Try `cat --help' for more information.
또는
$ ls
-ohello.c
$ gcc -ohello -ohello.c
gcc: fatal error: no input files
compilation terminated.
이것은 단지 호기심에서 벗어난 것입니다. 이에 대한 유스 케이스가 없습니다.
문자 그대로 "-f"문자열을 시스템 호출에 전달하는 방법을 찾아야합니다. 일반적으로 조심스럽게 탈출하는 것입니다.
—
Flexo
주제를 벗어난 유권자 유권자에게 : 이것은 쉘 프로그래밍 과 문제를 피하는 방법에 관한 질문 입니다. SO에 대한 주제입니다. (OTOH, 아마 중복, 문제가 관련된 다른 질문을 찾는 것입니다.)
—
조나단 레플러