Я запускаю сценарий оболочки на bash в Linux. Я хочу получить абсолютный путь к родительскому каталогу папки, в которой находится мой скрипт.
Следующее дает мне путь к тому, где находится мой скрипт
SCRIPTHOME = "$( cd "$(dirname "$0")" ; pwd -P )"
Благодаря ответу в следующем обсуждении:
Надежный способ для сценария Bash получить полный путь к себе
Вопрос:
Что я должен изменить в SCRIPTHOME = "$( cd "$(dirname "$0")" ; pwd -P )", чтобы получить родительский каталог папки, в которой находится мой скрипт?





Просто добавьте /.. после компакт-диска. Это предполагает, что ваш скрипт никогда не может быть в корневом каталоге, так как он все еще будет более или менее «работать», он просто не даст вам родительский каталог (поскольку его нет), он просто даст вам /.
SCRIPTHOME = "$( cd "$(dirname "$0")"/.. ; pwd -P )"
Я считаю, что вы также можете добавить ../ перед командой:
SCRIPTHOME = "$( cd ../"$(dirname "$0")" ; pwd -P )"