어떻게 행동이 취해진다 마이너스?

내 커피었't 에 도달했다 내 두뇌는 아직 때 잊어버렸는데,따옴표:

alias grep="grep --color=always"

그래서 그 대신 내가 입력:

alias grep=grep --color=always

나를 떠나으로:

--color=always
grep=grep

내 별명이 있습니다.

하려고 할 때 정리--color=항상 사용하는행동이 취해진--색상을 얻을:

bash: unalias: --: invalid option
unalias: usage: unalias [-a] name [name ...]

나 탈출을 인용하는 구걸하지만,나는 수 있지 않을 그림을 만드는 방법을 제공 행동이 취해진 정리 엉망입니다.

(나는 알고 다시 시작할 것이지만,확실히 다른 방법이 있어야합)

질문에 대한 의견 (2)
해결책

을 방지할 수 있습 POSIX 호환 시스템 해석하는 대시에서 명령을 추가하여--하기 전에 인수입니다.

mtak@frisbee:~$ alias grep=grep --color=always
mtak@frisbee:~$ alias | grep color
alias --color='always'

mtak@frisbee:~$ unalias -- --color
mtak@frisbee:~$ alias | grep color
mtak@frisbee:~$

이동 유틸리티,보's 말이 있는 파일의 이름은-bla. 를 제거하려고 하면 그것은rm당신은 다음과 같은 오류가:

mtak@frisbee:~$ ls -- -bla
-bla
mtak@frisbee:~$ rm -bla
rm: invalid option -- 'b'
Try 'rm ./-bla' to remove the file '-bla'.
Try 'rm --help' for more information.

를 사용하여--하기 전에 파일을 파일을 제거합니다:

mtak@frisbee:~$ rm -- -bla
mtak@frisbee:~$ ls -- -bla
ls: cannot access '-bla': No such file or directory
해설 (2)

그냥 사용하여 동일한 당신을 속이 설정하는 데 사용되는 별칭

unalias whatever --color
해설 (3)

빠른 솔루션

을 수정잘못된 별칭이 단순히 수도 있습니다 실행

unalias grep --color

###이해 무엇's 이 일어났 당신에게 잘못된 명령을`별명 grep=grep--color=항상`없이`"..."`입니다.

-설정한 두 가지 별칭--색상grep;실제로 당신은 그것을 읽을 수 있습니다 왼쪽에서 당신의 출력을(모든에서 왼쪽의=은 별칭을 명령):

--color=상 grep=grep

그래서 당신은 필요하 unset 니다.

-왜 이런 일이 일어날까?...에 공관의 별칭을 의미하는 것이 가능하지 여러 양도에서 하나인:

명:alias[-p][name[=value]...]

출력에서의도움이 별칭이당신은 읽을 수 있는 공관에서사람 bash을 읽을 수 있다는 가능한 같은 줄에도록 및 할당 같은 시간에:

인수를 제공하면별칭을 정의에 대한 각각의 이름 값을 주어집니다. 후행 공간에 값이 원인은 다음 단어를 확인에 대한 별칭을 대체할 때 별칭을 확장합니다. 에 대한 각각의 이름을 인수 목록에 있는 값을 제공하지 않,의 이름과 값을 별명이 인쇄되...

-당신은 당신이 문제를 해제하는 첫 번째--색상혼자. 이 때로 해석되 옵션별칭이에 의해 당신 shell;이를 방지하기 위해 필요 통신bash쉘는 무엇이 다음 그것은 옵션이 아닙니다.

-다배 성리눅스의:사람,이 경우남자 bash는 금고로 가득 보물에서 유용 상황은 이렇습니다. 당신은에서 읽을 수 있습니다 남자bash:

-A-의 끝을 신호 옵션을 비활성화 추가 옵션이 처리합니다. 모든 인수 후에는 취급으로 파일 이름 과 인수. 의 인수-해당--.

보고서에서 다른 대답 POSIX 방법을 사용하여 특수 문자 조합을--.

행동이 취해진----색상 -하지만이유는행동이 취해진 grep-색상은일하고 있는가? 내 말은 사용하지 않고--? 으로 근무별명에 대한 행동이 취해진그것을 가능하게 하나 이상의 이름에 하나는 시간(다시[...]).

행동이 취해진:행동이 취해진[-a]이름[name...]

뿐만 아니라는 나의 추측:는 것이 바람직한 프로그래밍 습관을 쓰고 읽고 쓰는 일과 동시에,아래 같은 논리입니다. 그래서 그것은 옵션에 대해 분석하는 루틴을의 별칭이그리고행동이 취해진`.

는 이 작품을 볼 수 있습에서도 이 명령(쉘에서 열린 이러한 목적)는 삭제되지 않습니다 모든 당신의 별명:

행동이 취해진 어떤 a

최종 말

에서 버그 섹션의남자 bash중 몇 가지를 보고할 수 있습기:-)`

별칭이에서 혼란을 일부 사용합니다.

해설 (0)