Bash에서 "-"가 포함된 매개변수를 전달하는 방법은 무엇입니까? [복사]

Bash에서 "-"가 포함된 매개변수를 전달하는 방법은 무엇입니까? [복사]

이 명령을 사용하여 파일에서 문자열을 검색하려고 합니다 grep. 그러나 명령은 대소문자 무시와 같은 옵션을 -R삭제하려고 한다고 생각합니다 .-i

답변1

-e옵션은 grep"다음 인수는 모드입니다"라고 명시적으로 말하는 것입니다.

grep -e -R file

-R위의 코드는 이라는 파일에서 줄 일치를 검색합니다 file.

-e옵션은 명령줄에 여러 번 나타날 수 있으며 grep지정된 모든 모드를 사용합니다.어느방법).

답변2

언급된 이전 답변뿐만 아니라 --옵션의 끝을 알리는 데 사용되므로 나중에 바람직하지 않게 해석되지 않고 매개변수와 유사할 수 있는 패턴을 사용할 수 있습니다.

$ echo -R | grep -- '-R'
-R

답변3

노력하다탈출하다해당 역할은 다음과 같습니다 grep \\-R myfile.txt.

예:

$ touch test.txt
$ echo "-R" >> ./test.txt
$ cat test.txt
-R
$ grep \\-R ./test.txt
-R

관련 정보