이 명령을 말씀하시는 건가요? (이것에 어떻게 대답할 것인가)

이 명령을 말씀하시는 건가요? (이것에 어떻게 대답할 것인가)

터미널에 다음을 입력한다고 가정해 보겠습니다.

wgets "link"

나는 응답을 받을 것이다:

'wgets' 명령을 찾을 수 없습니다. 'wget' 패키지(기본)의 'wget' 명령을 의미합니다.

실수를 했는데 단말기에서 경고가 떴어요.

터미널에서 경고를 표시한 후 위에서 생각한 대로 수행되도록 명령을 입력할 수 있습니까?

예를 들어:

->wgets "link"

->No command 'wgets' found, did you mean:
 Command 'wget' from package 'wget' (main)

->yes (this command I am looking for ... is there one?)

-> executing wget "link"

답변1

Bash이를 사용하여 search and replace이전에 실행된 잘못된 명령을 수정할 수 있습니다. 귀하의 예에서 :

->wgets "link"

->No command 'wgets' found, did you mean:
 Command 'wget' from package 'wget' (main)

->^wgets^wget^

wgets대체되고 명령 wget이 실행됩니다.

기록 목록에서 이전 명령을 쉽게 실행하려면 다음을 수행하십시오.

->!wgets:s/wgets/wget/

man 3 history밑에서 부터 Event Designators:

!string
     Refer to the most recent command starting with string.

...

^string1^string2^
     Quick Substitution.  Repeat the last command, replacing string1
     with string2.  Equivalent to ''!!:s/string1/string2/''.

답변2

로 전환다루기 힘든(기본적으로 macOS에 설치되며 모든 주요 Linux 배포판, *BSD 및 기타 Unix 계열 운영 체제 소프트웨어 컬렉션에서 패키지로 사용 가능) 명령 이름에 대한 자동 수정 기능이 있습니다.

% wgets
zsh: correct 'wgets' to 'wget' [nyae]? y
wget: missing URL

답변3

~처럼와일드카드이미 설치를 권장함thefuck그런 다음 .bash_profile, .bashrc 또는 .zshrc에 다음 줄을 추가하여 "yes" 별칭을 추가합니다.

eval $(thefuck --alias)
alias yes="fuck"
->wgets "link"

->No command 'wgets' found, did you mean:
 Command 'wget' from package 'wget' (main)

->yes

-> wget "link" [enter/↑/↓/ctrl+c]

-> Downloading...

관련 정보