linux $

$n        $1 the first parameter,$2 the second...
$#        The number of command-line parameters.
$0        The name of current program. same like${BASH_SOURCE-$0}
$?        Last command or function's return value.
$$        The program's PID.
$!        Last program's PID.

$@        Save all the parameters. $@为"1" "2" "3"(分别被包住)

$*:   (以一个单字符串显示所有向脚本传递的参数,与位置变量不同,此选项参数可超过9个)  $*为"1 2 3"(一起被引号包住)

$-:   (显示shell使用的当前选项,与set命令功能相同)

----------------------------

${parameter:-default}

SLAVE_FILE=${HADOOP_SLAVES:-${HADOOP_CONF_DIR}/slaves} 指定默认值 

----------------------------

dirname $0

在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。
这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。

cd `dirname $0`

echo `pwd`

或者

ZOOBIN="${BASH_SOURCE-$0}"
ZOOBIN="$(dirname "${ZOOBIN}")"
ZOOBINDIR="$(cd "${ZOOBIN}"; pwd)"

$(dirname "$ZOOPIDFILE") 用法

eg:echo $(dirname /home/zzz/file/aaa)
     /home/zzz/file



------------------------

uname  显示操作系统的名字





你可能感兴趣的:(linux)