Очень плохо знаком со скриптами: есть ли шелл с поддержкой областей видимости, вроде:
if [ -x "$SOMEPATH/bin/executable" ]
then
COMMAND=$SOMEPATH/bin/executable
# область видимости COMMAND - локальная для if...else или if...fi
...
fi
В идеале еще бы что-нибудь вроде val COMMAND
- то есть изменяемая/неизменяемая и модульность с импортами, но боюсь будет жирно.
Именно shell, не python, т.к. извращаться с subprocess не хочется.
COMMAND - переменная окружения, да.
Стоит потыкать что-то вроде perl5?