このエントリーをはてなブックマークに追加


タブキーによる補完で$にエスケープ文字が追加されるのを停止する方法

WSL(Windows Subsystem for Linuxをインストールし、タブキーで補完がされる bash-completion パッケージをインストールしました。
以下のようなコマンドを入力しTabキーを押すと…

$ vi $HOME/.bash

$の前にエスケープ(バックスラッシュ)が挿入されてしましました。

$ vi \$HOME/.bash

この現象を停止する手順を以下に記します。


動作確認環境

  • Debian WSL1
    $ cat /proc/version
    Linux version 4.4.0-19041-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #1-Microsoft Fri Dec 06 14:06:00 PST 2019
    
    $ lsb_release -d
    Description:    Debian GNU/Linux 10 (buster)
    $ cat /etc/debian_version
    10.5

対処方法

以下のコマンドを実行するか、$HOME/.bashrc(など)に追記してください。

shopt -s direxpand

shopt -s direxpand 設定前

  1. 以下のように入力し…
    01.png
     
  2. タブキーを押すと、$がエスケープされます。
    02.png

shopt -s direxpand 設定後

以下のコマンドを実行したときの動作です。

shopt -s direxpand
  1. コマンドを実行し、上記の設定前と同様の入力をします。
    11.png
     
  2. タブキー押すと$HOMEに設定されている内容が展開されます。
    12.png
     

タブキーによる補完

タブキーによる補完ができない場合は、bash-completionがインストールされていません。
Debian系(Ubuntu)であれば、以下のコマンドでインストールしてください。

sudo apt install bash-completion

以上、bashでタブキーを押すと、$の前にエスケープ文字が付いてしまう場合の対処方法でした。



添付ファイル: file12.png 405件 [詳細] file11.png 451件 [詳細] file02.png 431件 [詳細] file01.png 417件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-08-16 (日) 01:16:45