Как и большинство make-файлов, у меня есть некоторые скрипты bash, которые используют переменные для исполняемых файлов. Например, $mysql_exec
для/usr/bin/mysql. Я хотел бы быть в состоянии сказать что-то вроде:Как проверить расширение пути для исполняемых файлов
mysql_exec=mysql
использовать $ PATH или
mysql_exec=/usr/bin/mysql
, чтобы получить абсолютное местоположение без $ PATH. Я также хочу, чтобы проверить, если исполняемый файл действителен, используя что-то вроде этого:
if [ ! -x $mysql_exec ] ...
Однако, эта команда:
if [ ! -x "mysql" ]; then print "oh oh"; fi
На самом деле печатает «о-о», даже если MySQL находится в моей $ PATH. Из командной строки ввод mysql
имеет такой же эффект, что и печатать /usr/bin/mysql
. Итак, как мне получить bash действительно проверить, является ли $ mysql_exec исполняемым файлом ($ PATH и все)?
Очень хороший Деннис. Спасибо за подсказку 'type'! –