Описание тега assembly
В УМК
выход на ПС
- это либо имя процесса или аргументы, переданные команды (в том числе первый аргумент из argv[0]
). Хотя она носит какое-то отношение с путь к исполняемому файлу, нет никакой гарантии, что они должны быть увязаны.
На Linux:
принт-р -- в /proc/самоуправления/ехе(:а)
На Darwin и Linux и, возможно, другие:
как lsof -АП"$$" -dtxt -ФН | е 2!д;с/.//;вопрос
Но я не знаю, насколько он надежен.
Еще одна эвристика:
принт-Р -- ${${0#-}:Си:}
$0
, как вы видите в ПС вывода содержит первый аргумент, что ЗШ
получил (массива argv[0]
), или при передаче в скрипт в качестве аргумента, этот аргумент.
В первом случае, как правило, (условно, нет никакой гарантии,) что из argv[0]
будет либо пути в том числе /
(относительная или абсолютная), или ЗШ
(без /
) в этом случае абонент посмотрела ЗШ
в его путь
и его команда хэш-таблицу... Если путь относительный, описанный выше метод будет работать только если текущий каталог не менялся с ЗШ был вызван. Если нет /
, то метод будет работать только если ЗШ
смотрит исполняемый таким же образом, как вызывающий.
В случае сценария, это путь к сценарию, который будет возвращен вместо этого переводчика (в отличие от первых двух решений).