web-dev-qa-db-ja.com

WSLのBashでエイリアスファイルが機能しない(Opensuse Leap 42.3)

WSLのBashでエイリアスファイルを次のように設定しています。

alias gvim='/mnt/d/Vim/vim81/gvim.exe'
alias vim='/mnt/d/Vim/vim81/vim.exe'
alias pngcrush='/mnt/c/Users/nathan/Downloads/pngcrush_1_8_11_w64.exe -reduce -brute -ow'

しかし、Bash内でgvimまたはvimを実行しようとすると、次のエラーが発生します。

:No such file or directorym.exe(gvim)

`:そのようなファイルやdirectory.exeはありません '(vim)

ただし、pngcrushエイリアスは正しく機能します。ただし、奇妙な理由で、〜/ .aliasファイルで定義されたエイリアスでは、エイリアスの最初の「a」が一重引用符に置き換えられ、引数なしでbashでエイリアスコマンドを実行すると、最後の一重引用符が欠落しています。

Gvimとvimの実行可能ファイルが正しく見つからない理由を知っている人はいますか? .exeへのパスをbashに直接入力すると機能しますが、これら2つのエイリアスは機能しません

Bashバージョン:

> bash --version
GNU bash, version 4.3.42(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

OpenSUSEバージョン:

> cat /etc/*release
NAME="openSUSE Leap"
VERSION="42.3"
ID=opensuse
ID_LIKE="suse"
VERSION_ID="42.3"
PRETTY_NAME="openSUSE Leap 42.3"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:42.3"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
openSUSE 42.3 (x86_64)
VERSION = 42.3
CODENAME = Malachite
# /etc/SuSE-release is deprecated and will be removed in the future, use /etc/os-release instead

以下の私のbashエイリアスのすべて:

>alias
alias +='pushd .'
alias -='popd'
alias ..='cd ..'
alias ...='cd ../..'
alias beep='echo -en "\007"'
alias cd..='cd ..'
alias dir='ls -l'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
'lias gvim='/mnt/d/Vim/vim81/gvim.exe
alias l='ls -alF'
alias la='ls -la'
alias ll='ls -l'
alias ls='_ls'
alias ls-l='ls -l'
alias md='mkdir -p'
alias o='less'
'lias pngcrush='/mnt/c/Users/nathan/Downloads/pngcrush_1_8_11_w64.exe -reduce -brute -ow
alias rd='rmdir'
alias rehash='hash -r'
alias unmount='echo "Error: Try the command: umount" 1>&2; false'
'lias vim='/mnt/d/Vim/vim81/vim.exe
alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'

Microsoft Windows 10 Home 10.0.17134

1
Nathan Mills

クイックアンサー:bash内からvimを開くだけです。

WSLで使用しているLinuxディストリビューションには、おそらくvimが含まれています。 WSLとbashを使用してWindowsバージョンのvimを開く理由はありません。

1
Tom Saenen