【发布时间】:2011-11-28 19:29:43
【问题描述】:
当脚本是由 ksh 获取时,它如何确定它的路径?即
$ ksh ". foo.sh"
我在 BASH 中看到了非常好的方法,发布在 stackoverflow 和其他地方,但还没有找到 ksh 方法。
使用“$0”不起作用。这只是指“ksh”。
更新:我尝试使用“历史”命令,但不知道当前脚本之外的历史。
$ 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”。
【问题讨论】:
-
This page 似乎有一个可行的解决方案。
-
@Anson,我看到了,但如果我获取文件,它对我不起作用,只有当我运行脚本时。
标签: ksh