bash compgen の結果にはターミナルカラーコードが含まれています。

bash compgen の結果にはターミナルカラーコードが含まれています。

compgenを使用していますalias ls='ls --color'が、奇妙な結果が表示されます。ターミナルカラーコードを使用してオートコンプリートされます。

色が正しく適用されたので、compgen -W "$(ls /someDir/)"端末に入れたときに見てください。ls

しかし、一緒に

COMPREPLY=( $(compgen -W "$(ls /someDir/)" -- ${cur}))

出力

^[[34;40mfilename^[[0m基本白

色付きの結果をテキストにインポートする代わりに保持する方法はありますか?

ベストアンサー1

lsここではまったく使用しないでください。色は仕上げの一部として望ましくないので、とにかく出力の一部になるべきではありません。-W一致するファイル名には-W

globを使用して直接設定する必要がありますCOMPREPLY

COMPREPLY=( "$cur"* )

おすすめ記事