Как сценарий может определить свой путь, если он источник ksh? т.е.
$ ksh ". foo.sh"
Я видел очень хорошие способы сделать это в BASH, размещенном в stackoverflow и других местах, но еще не нашел метода ksh.
Использование «$ 0» не работает. Это просто относится к «кш».
Обновление: я пробовал использовать команду "history", но она не знает истории за пределами текущего скрипта.
$ cat k.ksh
#!/bin/ksh
. j.ksh
$ cat j.ksh
#!/bin/ksh
a=$(history | tail -1)
echo $a
$ ./k.ksh
270 ./k.ksh
Я бы хотел, чтобы было эхо "* ./j.ksh".