当我在运行Mac OS X v10.6.7(Snow Leopard)的Mac上的Bash脚本中引用$ 0时,我得到-bash
,而不是脚本的名称。
我跑this Stack Overflow question描述的脚本:
#!/bin/bash
echo
echo '# arguments called with ([email protected]) --> '"[email protected]"
echo '# $1 --------------------------> '"$1"
echo '# $2 --------------------------> '"$2"
echo '# path to me ($0) -------------> '"$0"
echo '# parent path (${0%/*}) -------> '"${0%/*}"
echo '# my name (${0##*/}) ----------> '"${0##*/}"
echo
时,会产生如下:
> . show_parms.sh foo
# arguments called with ([email protected]) --> foo
# $1 --------------------------> foo
# $2 -------------------------->
# path to me ($0) -------------> -bash
# parent path (${0%/*}) -------> -bash
# my name (${0##*/}) ----------> -bash
任何想法?
好吧,我是dufus。 $ BASH_SOURCE做了诡计。我也喜欢这个解决方案,因为它是可靠的,无论脚本如何被调用,都给了我所期望的。我显然没有尝试在答案中提出的一切。谢谢,Bavarious,为您提供帮助。 – 2011-05-02 02:11:06