Sie müssen die Zeilenenden des /mnt/c/Users/Philipp/.aliases_win
Windows-Formats (CRLF) in das Unix-Format (LF) konvertieren. Sie können dies mit sed tun (dadurch wird die Datei überschrieben):
sed -i 's/\r$//' /mnt/c/Users/Philipp/.aliases_win
Erläuterung:
Der Grund, aus dem bash sagt, : command not found
ist, dass er den Wagenrücklauf in den "leeren" Zeilen in Ihrer Windows-formatierten Datei als Namen eines Befehls interpretiert. Sie können dies in der Bash-Shell selbst testen, indem Sie STRG-V, STRG-M eingeben und dann die Eingabetaste drücken (STRG-M oder ^ M entspricht einem Wagenrücklauf, siehe man console_codes
).
Nachdem Sie alle leeren Zeilen entfernt hatten, blieben nur noch einige Aliasbefehle, die Sie : File or directory not found
nach der Ausführung der Aliasnamen erhalten haben, da der Wagenrücklauf am Ende der Aliaszeilen tatsächlich in den Alias eingefügt wurde. Zum Beispiel kann die Leitung alias ..='cd ..'<CR><LF>
gemacht ..
einen Alias für cd ..<CR>
, die die übergeordneten Ordner nicht gehen, ..
sondern versuchen, in das Verzeichnis mit dem Namen zu ändern ..<CR>
. Die Fehlermeldung beim Ausführen dieses Aliasnamens beginnt nicht mit dem Typical, bash: cd: foldername
da der Cursor durch das Zurücksenden des Wagenrücklaufs im Ordnernamen an den Anfang der Zeile zurückkehrt. Versuchen Sie etwas echo aaaa<CR>bb
, um dies klarer zu sehen.