web-dev-qa-db-ja.com

代わりにこのコマンドを意味しましたか? (これに返信する方法)

次のことを端末に入力したとします。

wgets "link"

私は応答を受け取ります:

コマンド 'wgets'が見つかりません、つまり:コマンド 'wget' from package'wget '(main)

私は間違いを犯しました、そしてターミナルは私に警告しました。

ターミナルが警告した後に入力できるコマンドはありますか?そうすれば、それはそれが思っていたもので上記のコマンドを実行しますか?

例えば:

->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"
2
K Split X

zsh に切り替えます(デフォルトでmacOSにインストールされ、すべての主要なLinuxディストリビューション、* BSD、および他のUnixライクなオペレーティングシステムのソフトウェアコレクションでパッケージとして利用できます)。コマンド名のオートコレクトがあります。

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

Bashでは、search and replaceを使用して、以前に実行した誤ったコマンドを変更できます。あなたの例から:

->wgets "link"

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

->^wgets^wget^

wgetswgetに置き換えられ、コマンドが実行されます。

履歴リストの前半のコマンドでこれを容易にするには:

->!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/''.
4
Timothy Martin

Wildcard すでに提案されているようにインストール 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...
1
Jannis Hell