Что является причиной того, что файл не исполняется пользователем в подсистеме Windows для Linux?

952
Wayne Werner

Кажется, это случайно началось несколько дней назад. Раньше было нормально запускать оболочку рыбы из Ubuntu bash для Windows. Но внезапно, когда я нажму Tabна автозаполнение, это вызывает:

The file "x86" is not executable by this user in command substitution called on standard input 

Кроме того, когда я просто набираю, x86он на самом деле не запускает команду, а говорит мне:

The file "x86" is not executable by this user 

Однако which x86ничего не выводит.

Любая подсказка, что в мире может происходить здесь?

4
какой твой pwd? Вы используете или оценивает путь к программным файлам c: \ (x86) \? Bash, вероятно, проанализирует это как несколько имен файлов. окна никогда не должны были разрешать пробелы в именах файлов ... Frank Thomas 6 лет назад 0
Ах, похоже, `/ mnt / c / Program Files (x86) / NVIDIA Corporation / PhysX / Common` (среди нескольких других) есть в моем PATH. Есть ли способ устранить их, так как они не имеют никакого отношения к подсистеме? Я имею в виду, я мог бы, конечно, вручную установить PATH Wayne Werner 6 лет назад 0

2 ответа на вопрос

2
Zanchey

Эта ошибка присутствовала в fish и исправлена ​​в версии 2.3.0 - если она все еще присутствует в более поздних версиях, отчет будет принят с благодарностью.

Вы можете установить более новую версию из репозиториев Ubuntu PPA, если установленная версия apt-getслишком старая.

Твой вопрос решает проблему, мой просто бродит :) Vedant 6 лет назад 0
0
Vedant

Проблема здесь в том  completer_t::complete_cmd, что вызывает расширение_строки. Это очень общая функция, которая расширяет такие вещи, как подстановочные знаки, расширение процесса, расширение переменной и т. Д.

Это, безусловно, неправильно делать эти расширения в компонентах $ PATH.

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