LINUX.ORG.RU

Как получить полный путь к исполняемому файлу?

 , , , ,


0

2

Пишу скрипт, он определяет какой архитектуры исполняемый файл и подставляет ему нужные библиотеки.

При помощи команды

readelf -h /usr/bin/programm_name | grep ELF32
получается определить что он 32 разрядной архитектуры. Но ведь пользователь введёт не полный путь к исполняемому файлу, а как чаще всего бывает просто его имя.

Как найти указанный в параметре исполняемый файл к которому не указан полный путь по переменной окружения?

Перемещено leave из talks

Ответ на: комментарий от no-dashi

Для интерпретаторов есть переменные среды

ты хочешь сказать, что путь скрипта хранится в какой-то переменной? в какой?

teod0r ★★★★★
()
Ответ на: комментарий от rezedent12

Видимо слишком мудрёно формулировал запрос.

Бывает, не ударяйтесь в частности. Чем проще, тем лучше.

Sociopsih ★☆
()
Ответ на: комментарий от rezedent12

Вот этого я вопроса не понял?

Как найти указанный в параметре исполняемый файл к которому не указан полный путь по переменной окружения?

imul ★★★★★
()
Ответ на: комментарий от imul

Вот этого я вопроса не понял

Просто тс не умеет в запятые.

Как найти указанный в параметре исполняемый файл, к которому не указан полный путь, по переменной окружения?

Nervous ★★★★★
()
Ответ на: комментарий от rezedent12

bash же как то ищет

Да, конечно. Приказать Башу не исполнить программу, а вывести ее полный путь можно так:

$ command -v cat
/bin/cat
Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 2)
Ответ на: комментарий от Zmicier

Это я лоханулся. Не переживай.
env PATH=«/1:${PATH}» bash -c «command -v wine»
/1/wine
Работает всё. Ты прав. ps: хотя хрен редьки не слаще, всё-равно при подмене переменной внешнюю программу дёргать. Это на случай нестандартного расположения.

imul ★★★★★
()
Последнее исправление: imul (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.