問題タブ [bash-completion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - パス内の変数を補間する (bash コマンド ライン)
教えてください、入力中にbashコマンドラインで変数名を補間するにはどうすればよいですか?
つまり$A = ~/tmp/
、tmp フォルダーには、tmp1 フォルダーと tmp2 フォルダーがあります。
次のように入力しますcd $A<TAB>
が、何も起こりません。/ と typecd $A/tmp1
を追加すると、末尾にスペースが追加されcd $A/tmp1<space>
ます。
次の動作が必要です: =====
cd $A<TAB>
>cd ~/tmp/<without additional space>
助言がありますか?
bash - Cygwin git タブ補完
Windows に Cygwin をインストールしました。既定のパッケージの 1 つは git タブ補完ですが、タブ補完がありません。
検索を行ったところ、デフォルトでは有効になっていないというメモが見つかりました。完了のために行のskel .bashrc and .bash_profile to ~ and in .bashrc
コメントを外してから、コンソールを再起動しました。まだ何もありません。
次に、ファイル .bash_completion が に存在しないことに気付いた/etc
ので、そのコピーをオンラインで見つけて配置しましたが、まだ git に完了がありません。
/etc/bash_completion.d
その中にディレクトリもあるはずですがgit/
、それもありません。
linux - Linuxターミナルでツインキャラクターをオートコンプリートするには?
"(" 一部のエディターはそのツイン ")" 文字をオートコンプリートします。アポストロフィーも同様です。これをbashターミナルで実現するためにできる安全なことはありますか?
ありがとうございました
bash - 特定のファイル名とディレクトリを完成させる
.foo
コマンドの拡張子を持つファイル名のみを Bash に完成させたい場合は、bar
実行できます
ただし、これにより、ファイルの前にあるディレクトリの完了が無効になり.foo
ます。ディレクトリの完成を保持するにはどうすればよいですか?
bash - Bash でのリモート URL 補完
現在、Bash で svn のリモート URL 補完のサポートを追加しています。私は現在、変更された bash-completion-svn を使用しています。これは、次のように URL で完了をいつトリガーするかを判断します。
URL ( ) の子育てディレクトリの部分を抽出し、それをsvn+ssh://$HOST/$DIR
呼び出すことができました。svn ls
ここで残っているのは、URL のディレクトリ部分と、prefix_string
その後に入力したユーザー (空でもかまいません) を使用して補完を行う方法です。これを機能させるために使用できますcompgen
か?
これは、url の最後の文字がスラッシュの場合に可能な補完のリストを取得するか、サフィックスが空の場合は完全なディレクトリを取得することです。
現在、私は使用しています
次のような URL の補完を行う
たとえばに完了する
ただし、何があっても常に最初の選択肢を選択し、私が書いたにもかかわらず常にスペースを挿入します-o nospace
。他に一致する可能性がある場合 (接頭辞が一意ではない場合) に補完 compgen が完了しないようa
にする方法と、カーソルを移動せずにこれらの一致をカーソルの下に印刷する方法を教えてください。これしかできないcomplete
?
bash - ネストされた for ループの問題は次のファイルに移動しません
したがって、次のファイルに移動する for ループ以外はすべて機能します。スクリプトを実行すると、STATコマンドのすべてのエラーが機能していないことに気付きます。最初のファイルを実行した後、リストの次のファイルではなく、そのファイルをSTATしようとしているからです
git - Git PS1 ダートステートに文書化されていない「#」記号が表示される
私は Mac を使用しており、brew を介して git をインストールし、git-completion.bashスクリプト ファイルを入手しました。
変数をエクスポートしてGIT_PS1_SHOWDIRTYSTATE=1
、現在のブランチのステータスも表示しました。
最後に$(__git_ps1 '(%s)')
、PS1の定義に を含めました。
読み回してみると
しかし、私のプロンプトが私に何を示していても (name_branch #)
。#記号の意味がわかりません。また、このファイルの公式レポやドキュメントも見つかりませんでした。
ヒントはありますか?
ありがとう
編集:これは私のPS1です:
__git_ps1
また、gitディレクトリでのみ正しくアクティブ化されることを追加したいのですが、とにかくその#記号が表示されます。
bash - Bash の補完: パスであるかのようにワードリストを作成します - 次のスラッシュまでのみ提案します
ドット ファイル管理ユーティリティの bash 補完スクリプトを作成中です。このツールにはdots diff [filename]
、インストールされたドット ファイルとソース ドット ファイルの違いを表示するコマンドがあります。dots files
また、管理されているすべてのドット ファイルのパス (ソース ディレクトリからの相対パス) を一覧表示するコマンドもあります。files コマンドの出力で diff コマンドを完成させたいと思います。
ファイル出力の例を次に示します
このようなものを使用して
動作しますが、readline が利用可能なオプションを一覧表示すると、完全なパスが一覧表示されます (上記のリスト)。
単語をファイルパスであるかのように扱い、提案をリストするときは最初のスラッシュまでしかリストしないようにしたいと思います。
たとえば、次のように入力dots diff [tab][tab]
すると、次のように出力されます
たとえば、次に入力したdots diff bash/[tab][tab]
場合、それは表示されます
理想的には、実際にそれをパスとして扱い、readline オプションmark-directories
を off に変更すると末尾のスラッシュが除外されるようにしたいと考えています。
設定を試みましcompopt -o filenames
たが、最初はパスではなくファイル名が提案されます。