this="${BASH_SOURCE-$0}"
bin=$(cd -P -- "$(dirname -- "$this")" && pwd -P)
script="$(basename -- "$this")"
this="$bin/$script"
上面是hadoop启动时的一段代码,这段逻辑也比较简单(this
最终为该脚本的绝对物理位置),就是不明白,-P
与dirname
后面的--
的作用是什么?
bash的man page是这么写的:
A -- signals the end of options and disables further option
processing. Any arguments after the -- are treated as filenames and
arguments. An argument of - is equivalent to --.
两个横线代表选项的结束,两个横线后面的部分都会被认为是参数了,而不再是前面的命令的选项了。