Чтобы получить абсолютный путь в сценарии Bash, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование команды readlink
#!/bin/bash
absolute_path=$(readlink -f "$0")
echo "Absolute path: $absolute_path"
Метод 2: использование команды realpath
#!/bin/bash
absolute_path=$(realpath "$0")
echo "Absolute path: $absolute_path"
Метод 3: использование команды pwdс cd
#!/bin/bash
script_dir=$(cd "$(dirname "$0")" && pwd)
echo "Absolute path: $script_dir/$(basename "$0")"
Метод 4. Использование команды dirnameс readlink
#!/bin/bash
script_dir=$(dirname "$(readlink -f "$0")")
echo "Absolute path: $script_dir/$(basename "$0")"
Метод 5: использование переменной BASH_SOURCE
#!/bin/bash
script_dir=$(dirname "${BASH_SOURCE[0]}")
absolute_path=$(cd "$script_dir" && pwd)
echo "Absolute path: $absolute_path/$(basename "${BASH_SOURCE[0]}")"
Все эти методы дают один и тот же результат: они предоставляют абсолютный путь к выполняющемуся в данный момент скрипту. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.