У меня это как переменная PATH на моем ПК
~$ echo $PATH
/home/username/.local/share/umake/bin:/home/username/bin:/home/username/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Это нормально? Как у моих локальных пользовательских папок приоритет над другими папками? Невозможно, чтобы кто-то мог создать файл, называемый, например, ls, сделать его исполняемым, поместить его в .local / share / umake / bin, и я буду выполнять все, что есть в этом файле, при попытке использовать команду ls?
Я не считаю это необычным. ~/.local/share/umake/bin, конечно, где umake устанавливает материал, а ~/.local/bin - это то, где команды pip install --user заканчиваются, и, возможно, другие вещи. ~/bin добавляется в PATH, если вы создаете этот каталог. Если пользователь устанавливает команды в эти каталоги, они разумно ожидали бы, что эти команды будут иметь приоритет над системными утилитами.
Невозможно, чтобы кто-то мог создать файл, называемый, например, ls, сделать его исполняемым, поместить его на .local / share / umake / bin, и я буду выполнять все, что есть в этом файле при попытке использовать команду ls?Зачем переходить на эту проблему, вместо того чтобы, скажем, отредактировать ваш ~/.bashrc, чтобы заменить ls на функцию?