Что является причиной того, что файл не исполняется пользователем в подсистеме 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ничего не выводит.
Любая подсказка, что в мире может происходить здесь?
какой твой 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.