それらの下線コマンドは何ですか?


10

tab tab _がターミナルにいるとき、Bashは206の可能性を提案します。そのうちの1つを実行しようとしました_git_rmが、何も起こりませんでした。

ここにスクリーンショットがあります:

ここに画像の説明を入力してください


11
type _git_rmおそらくそれが関数であると言うでしょう。grep -R '_git_rm' /etc/bash_completion.d/おそらくそれを見つけるでしょう。これらの関数は通常、補完のためのさまざまな補完リストを提供するものbashです。
manatwork 2013年

@manatwork回答として投稿してください。
derobert

@derobert、私は簡単なヒントを提供することのみを意図していたため、エキスパートの回答が約7時間後に投稿される前に、質問の所有者は何かを得ます。
manatwork 2013年

答えは私のために十分である@manatwork ...私は自分自身でもっと調べることができます:Dあなたが気にしない場合、私は私があなたを受け入れるべきだと思いますけれども、私は...ジルのanwserを受け入れるだろう
描く

@ draw、Gillesの答えはおそらく研究と経験に基づいているが、私のものはディレクトリのクロール中に行われた偶発的な観察に基づいている。彼を受け入れてください。
manatwork 2013年

回答:


12

名前がアンダースコアで始まるこれらの関数は、プログラム可能な完了エンジンの一部です。Bashは、ここでzshの規則に従います。そこで、補完を生成する関数somecommandが呼び出され_somecommand、その関数が補助関数を必要とする場合、それらは呼び出され_somecommand_stuffます。

これらの補完関数は通常、手動で呼び出すと、何の役にも立たないかエラーを発生させます。これらは補完エンジンから呼び出されることを目的としています。

これは、さまざまなプログラミング言語で広く行われている慣例に従って、先頭のアンダースコアを使用して、関数または変数が何らかの形でライブラリーの内部にあり、エンドユーザー(またはエンドプログラマー)向けではないことを示します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.