Вы захотите #include
, затем используйте syslog()
функции для отправки данных в любую системную программу входа активны.
.
на самом деле текущий рабочий каталог в любом случае; это не имеет никакого отношения к каталогу, содержащему сценарий:
[/tmp] $ echo "realpath ." > test.sh && chmod +x test.sh
[/tmp] $ /tmp/test.sh
/tmp
[/tmp] $ cd /usr/bin
[/usr/bin] $ /tmp/test.sh
/usr/bin
Я соглашаюсь с Michael, но одно место, где оно может иметь значение, $0
параметр.
Я видел сценарии, которые исследуют название $0
и сделайте разные вещи, основанные на том, какое символьное имя используется.
Хотя это не то, что Вы спросили, это может быть тем, что Вы ищете...
Можно использовать "$0"
как способ определить местоположение нижних индексов, которые расположены в том же каталоге как основной сценарий.
MYPATH="$(realpath "$0")"
MYDIR="$(dirname "$MYPATH")"
"$MYDIR/otherscript" ...
Так как основной сценарий является symlinked, который необходимо разыменовать $0
во-первых, использование realpath
. Хотя dirname
возвраты .
если его аргумент не имеет никакой части каталога в этом примере realpath
уже превратит аргумент в полный путь.