次を使用してsshキーのフィンガープリントを取得する必要がありました。
$ ssh-keygen -lf ~/.ssh/id_rsa_user.pub
入力後:ssh-keygen -lf ~/.ss
TABオプションはありませんでした。
私がしなければなりませんでした:
$ compdef _files ssh-keygen
その後、ファイルパスを使用してオートコンプリートを利用できましたが、オートコンプリートコマンドが機能しなくなったため、入力ssh-keygen -
Tabしても次の出力が表示されなくなりました。
$ ssh-keygen -
-- option --
-B -- show the bubblebabble digest of key
-C -- provide new comment
-D -- download key stored in smartcard reader
-N -- provide new passphrase
-P -- provide old passphrase
-U -- upload key to smartcard reader
-b -- specify number of bits in key
-c -- change comment in private and public key files
-e -- export key to SECSH file format
-f -- key file
-i -- import key to OpenSSH format
-l -- show fingerprint of key file
-p -- change passphrase of private key file
-q -- silence ssh-keygen
-t -- specify the type of the key to create
-y -- get public key from private key
両方のオプションを有効にして、次のようなことができるようにする方法があるかどうか疑問に思っています。
ssh-keyg
TABそれは私に与えるでしょう:
$ ssh-keygen
それから私はすることができます
$ ssh-keygen -
TAB
これにより、オプションメニューが出力され、実行できるようになります。
$ ssh-keygen -lf ~/.ss
TAB
そして、機能する可能性のあるオプションのリストを持っているので、最後に次のようなものが得られます:
$ ssh-keygen -lf ~/.ssh/id_rsa_user.pub
今のところ、~/.zshrc
これに追加するだけです:
compdef _files ssh-keygen
compdef _files adb
compdef _files mysql
...
しかし、_files補完を使用したいaveryコマンドに対してそれを行う必要があるため、常に使用_files
またはフェイルオーバーする方法があるかどうかを知りたいです。
何か案は?
+をcsh
押すとファイルオプションが表示されるように動作させることは可能でしょうか?Ctrld
アップデート:
-f
最後の引数が の場合、オートコンプリートが機能することに気付きました。
ssh-keygen -l -f ~/.ssh
TAB
しかし、カスタム スクリプトの場合、どのような機能をコマンドするか、ウィジェット エイリアスが_files
補完を強制するのに役立ちます。