Мне надо передать бинарнику путь к файлу (к нему же), содержащийся в этой переменной. Определение каталога, в котором запустился бинарник нетривиальная задача, если он сжат upx. Пытаюсь обойтись без утилиты pwd.
Блин... У меня в cd $d используется не абсолютный путь, потому и не получалось передать нормальные данные - в переменной их не было( Вот в чём ошибка. А как записать в переменную абсолютный путь, начиная от корня?
Когда-то всемогущий гугл подсказал мне вот такой скрипт:
getScriptPath()
{
if [ -d ${0%/*} ]
then
abspath=$(cd ${0%/*} && echo $PWD/${0##*/})
# to get the path only - not the script name - add
pathOnly=`dirname "$abspath"`
else
progdir=`dirname $0`
cd $progdir
pathOnly=$PWD
fi
echo $pathOnly;
return
}
Раз уж Вы имеете доступ к аргументам командной строки, то нулевым аргументом идет путь к самой программе (так как он был указан при вызове), и все что нужно - раскрутить его до полного. В питон это делает ф-я os.path.abspath, и думаю что в любом ЯП можно найти какой то аналог. Зачем тут баш?
>Раз уж Вы имеете доступ к аргументам командной строки, то нулевым аргументом идет путь к самой программе
При запуске программы сжатой upx, в линуксе, оная распаковывается толи в память, толи ещё куда и только после этого запускается. В таком случае нулевой аргумент показывает ничто.
Какой-то обманный у тебя аватар, сколько раз принимал его за рыжую облизьяну вытянувшую руку. А на самом деле там тварь в клыками, ждёт пока поближе подойдёшь.
Мельком отрывки видел, целиком смотреть вломешник, запарил Диней своим мылом политкорректным. Аниме и сентай круче. Если посмотреть на аватарку расслабленно не думая о диснеях, то правый глаз и ухо лиса смотрятся как голова а нос как рука.