Alias-Datei funktioniert nicht in Bash unter WSL (Opensuse Leap 42.3)

664
Nathan Mills

Ich habe meine Alias-Datei in Bash in der WSL so eingerichtet:

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' 

aber wenn ich versuche, gvim oder vim in Bash auszuführen, erhalte ich diese Fehlermeldung:

:No such file or directorym.exe (gvim)

`: Keine solche Datei oder Verzeichnis.exe '(vim)

Der Pngcrush-Alias ​​funktioniert jedoch korrekt. Aus irgendeinem seltsamen Grund wurde in den Aliasnamen, die in meiner Datei ~ / .alias definiert sind, das erste "a" im Aliasnamen durch ein einfaches Anführungszeichen ersetzt, und das abschließende einfache Anführungszeichen fehlt, wenn ich den Aliasbefehl in bash ohne Argumente ausführen.

Weiß jemand, warum die ausführbaren Dateien gvim und vim nicht richtig gefunden werden? Wenn ich den Pfad zur EXE-Datei direkt in Bash eingebe, funktioniert es, aber diese beiden Aliase funktionieren nicht

Bash-Version:

> 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-Version:

> 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 

Alle meine bash-Aliase unten:

>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
Prüfen Sie, ob Ihre Alias-Datei CRLF-Zeilenenden aufweist, z. B. mit `cat -v [et]` oder `sed -nl` (ell). dave_thompson_085 vor 5 Jahren 0
Ändern Sie den Alias ​​in einen anderen Namen wie: `Alias ​​wvim = '/ mnt / d / Vim / vim81 / vim.exe'. Der vim-Alias ​​kann mit dem Windows-Pfad und dem Linux-Pfad in Konflikt stehen. +1 für diese Formatierungsfrage. Biswapriyo vor 5 Jahren 0
Ich habe "cat -v ~ / .alias" ausprobiert und jede Zeile endet mit einem ^ M. Bedeutet das, dass ich dos2unix darauf ausführen muss? Nathan Mills vor 5 Jahren 0
okay, probierte "dos2unix" für die Alias-Datei und der Alias-Alias ​​scheint zu funktionieren, aber das Alias-vim hängt jetzt einfach, wenn ich es von bash aus mit dem Alias ​​oder dem Pfad zum Exe starte, aber es funktioniert gut, wenn ich das Exe von Cortana starte. Ich denke, ich entferne diesen Alias ​​und behalte die anderen beiden. Danke für die Hilfe Dave und Biswapriyo. Nathan Mills vor 5 Jahren 0

0 Antworten auf die Frage