[118235]Это не оболочка Борна, или [118650]bash[118651], эмулирующая оболочку Борна, это оболочка Альмквиста, в вашем случае, вероятно, оболочка Альмквиста (вилка Debian из sh BSD, основанная на оригинальной оболочке Альмквиста). [12180]В оболочке Almquist (оригинальной и современной версии) [118652]%[118653] используется в [118654]PATH[118655] для дополнительных возможностей, специфичных для [118656]ash[118657]. Цитата из документации:[12181]Path Search[12182]При поиске команды, оболочка сначала смотрит, есть ли в ней оболочка
функционирует под этим именем. Тогда, если PATH не содержит записи для
[118846] %builtin [118847], ищет команду builtin с таким названием. Наконец, он
ищет каждую запись в PATH по очереди для команды.[12183]Значение переменной PATH должно представлять собой серию записей, разделенных следующим образом
Двоеточия. Каждая запись состоит из имени записной книжки или имени справочника.
за которым следует флаг, начинающийся со знака процента. Текущий каталог
должно быть указано пустым именем каталога.
Если знак процента отсутствует, то запись заставляет оболочку искать
для команды в указанном каталоге. Если флаг [118848]%builtin[118849].
затем ищется список команд сборки оболочки. Если флаг
[118850]%func[118851] затем выполняется поиск в каталоге файла, который считывается как
вход в оболочку. В этом файле должна быть определена функция, именем которой является
имя искомой команды.[12184]Имена команд, содержащих косую черту, просто выполняются без исполнения
В других оболочках, таких как [118666]ksh[118667] или [118668]zsh[118669], механизм автозагрузки функций аналогичный, но они используют другую переменную ([118670]$FPATH[118671]), но вы не можете определить, какая из функций или исполняемых файлов имеет приоритет. [12186]В вашем случае [118672]/home/torbjorr/deployed/vector/x86_64-GNU%2fLinux[118673] интерпретируется как каталог [118674]/home/torbjorr/deployed/vector/x86_64-GNU[118675] с флагом [118676]2fLinux[118677]. Этот флаг игнорируется, так как неизвестен.[12187]Обходного пути нет. Даже если бы у пепла был механизм выхода, чтобы этот [118678]%[118679] не обрабатывался специально, он бы не работал в других оболочках или других вещах, которые ищут [118680]$PATH[118681], таких как [118682]execvp()[118683]. [12188] Вам нужно будет удалить символы [118684]%[118685] из [118686]$PATH[118687], поэтому переименуйте ваш каталог или добавьте сим-ссылку.[12189] Или не используйте [118688]ash[118689] для вашего [118690]/bin/sh[118691]. Другие легковесные реализации оболочки POSIX, которые не делают этого, включают [12190]yash[12191] и [118694]mksh[118695].[118250].
27.01.2020, 19:48
Ссылка