Я пишу сценарий, используя zenity. Но в zenity 3.4.0 есть ошибка (исправлена в последних версиях Ubuntu), она возвращает код выхода 139 вместо 0 или 1. Но мне нужно использовать его в сценариях, где ошибка все еще существует.
Таким образом, решение состоит в том, чтобы связать пользовательский исполняемый файл zenity. Но как я могу переопределить команду zenity своей собственной в сценарии?
Назовите его с полным путем, таким как
/opt/myapp/bin/zenity
, если ваша версия zenity установлена в /opt/myapp/bin/
.
Вы можете использовать переменную для этого, например
ZENITY=/opt/myapp/bin/zenity
...
$ZENITY --question --text 'Reboot universe?'
Чтобы использовать пользовательский исполняемый файл zenity вместо системного по умолчанию, мы можем поместить его в каталог и добавить каталог в PATH
.
Скажем, я поместил исполняемый файл в каталог $bindir
.
Затем я могу добавить $bindir
к переменной PATH
.
export PATH="$bindir:$PATH"
Обратите внимание, что нам нужно добавить $bindir
перед $PATH
, иначе это не заменит исполняемый файл системы. Потому что в PATH
исполняемый файл, которому предшествует, получает больший приоритет.