Мой вопрос кажется тривиальным, но мне не удалось найти ничего полезного в Интернете. У меня есть бинарный файл
/urs/bin/binary
но он устарел и более новая версия доступна, например, на некоторых монтировках
/mount/new_version/binary
Есть сценарий bash, который вызывает этот двоичный файл в такой форме
binary -doSomething
Мне нужен этот скрипт для вызова новой версии бинарного файла вместо старой, но мне не разрешено изменять этот скрипт. Это способ как-то переопределить путь к нему, но только для моего пользователя? Любая помощь будет оценена.
Ответы:
Если двоичный файл включен,
/usr/bin/binary
и сценарий вызывает двоичный файл без указания полного пути, а вместо этого полагается на то,/usr/bin
что он находится внутри,PATH
тогда вы можете просто добавить местоположение нового двоичного файла в начало пользователяPATH
. Поместите что-то вроде этого в их~/.bashrc
:Из соображений безопасности сценарии часто указывают полный путь к двоичным файлам, чтобы предотвратить подобные вещи.
источник
Если у вас есть доступ к двоичному файлу, вы можете сделать его резервную копию и создать символическую ссылку.
[РЕДАКТИРОВАТЬ]
Извините, не видел, что изменение должно быть сделано только для одного пользователя.
Вы можете создать функцию для вызова вместо двоичного файла.
В зависимости от того, как вы выполняете двоичный файл (полный путь или просто имя), вы должны создать подходящую функцию , например:
Если двоичный файл не принимает / не нуждается в аргументах, удалите «$ @» .
Чтобы автоматизировать создание функции, поместите строки функций в файл .profile в домашнем каталоге пользователя.
источник
alias commandname=/mount/new_version/binary
в .bashrc выше инструкция пути / экспорта или в профиле будет достаточно легко.
источник