Синтаксическая ошибка при входе в подсистему bash (WSL)

Я пытаюсь войти в подсистему Windows bash для Linux, когда получаю эту ошибку:

-bash: /home/User1/.profile: line 28: syntax error near unexpected token `('

Прежде чем получить эту ошибку, я пытался навсегда поместить каталог в мой путь, используя export PATH:$PATH функция.

my / .profile file

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi
export PATH=/home/user1/.local/bin:/home/janeen/bin:/home/janeen/miniconda3/bin:/home/User1/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/c/ProgramData/DockerDesktop/version-bin:/c/Program Files/Docker/Docker/resources/bin:/c/Program Files (x86)/Common Files/Oracle/Java/javapath_target_34052312:/c/Windows/System32:/c/Windows:/c/Windows/System32/wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Windows/System32/OpenSSH:/c/Strawberry/c/bin:/c/Strawberry/perl/site/bin:/c/Strawberry/perl/bin:/c/Users/User1/AppData/Local/Programs/Python/Python36:/c/Users/Janeen/AppData/Local/Programs/Python/Python36/Scripts:/c/Users/User1/AppData/Local/Programs/Python/Python37-32/Scripts:/c/Users/Janeen/AppData/Local/Programs/Python/Python37-32:/c/Users/User1/AppData/Local/Microsoft/WindowsApps:/e/Program Files (x86)/TBtools/bin:/snap/bin:/software/samtools
2
задан 24 October 2019 в 11:05

1 ответ

Во-первых, необходимо заключить в кавычки пути к каталогам, которые включают пробелы и специальные символы, или выходят из каждого из этих символов наклонной чертой влево - ссылка.

Во-вторых, канонический способ изменить ПУТЬ:

export PATH=/some/new/path:$PATH

Таким образом Вы добавляете некоторый новый путь впереди к существующему значению PATH, иначе Вы привычка смочь выполнить бегло несколько команд, которые расположены в пути по умолчанию.

Треть в WSL, по умолчанию, дисках Windows C:, D: и так далее, смонтированы под /mnt - т.е. /mnt/c, /mnt/d, и т.д. Вот пример:

export PATH='/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath_':$PATH

Forth, не должно быть доступного файла /.profile, это должно быть расположено в пользовательском корневом каталоге ~/.profile ($HOME/.profile). Также Ваш .profile файл выглядит неполным, вот то, как значение по умолчанию каждый смотрит как: WSL .profile. В файле профиля, который отправляется в вопросе .bashrc файл не получен.

0
ответ дан 2 December 2019 в 05:54

Другие вопросы по тегам:

Похожие вопросы: