Измените путь к различным версиям в исполняемом файле для текущего сеанса в linux BASH - PullRequest
0 голосов
/ 06 апреля 2020

Мне нужно легко изменить путь к исполняемому файлу в bash без изменения имени двоичного файла (например, может быть какой-то другой сценарий / процесс, который предполагает, что двоичный файл существует в PATH и называется точно именем двоичного). Для примера ниже предположим, что исполняемый файл называется: EXECUTABLE.

Сейчас у меня есть:

~ / .bashr c

e11() {
  export EXECUTABLE="/home/user/tools/EXECUTABLE-1.1.0/"
  export PATH=$EXECUTABLE:$PATH
}
export -f e11

e19() {
  export EXECUTABLE="/home/user/tools/EXECUTABLE-1.9.0/"
  export PATH=$EXECUTABLE:$PATH
}
export -f e19

Выше работает. То есть в терминале я могу просто набрать e11 или e19, чтобы переключаться между различными версиями EXECUTABLE. Но если мне нужно еще несколько версий, список начинает расти. Есть ли лучшие способы сделать это?

1 Ответ

0 голосов
/ 06 апреля 2020

Да, просто передайте вместо него переменную $ var, например,

myapp() {
  export EXECUTABLE="/home/user/tools/EXECUTABLE-${1}/"
}

myapp "$1"
echo $EXECUTABLE

output:

$ bash 1.sh 1.1
/home/user/tools/EXECUTABLE-1.1/
$ bash 1.sh 1.2
/home/user/tools/EXECUTABLE-1.2/
$ bash 1.sh whatevervalueiput
/home/user/tools/EXECUTABLE-whatevervalueiput/

edit: хотя я бы всегда старался добавлять $ PATH - это другая проблема для вас заняться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...