这个Nagios脚本使用${1}和${*}喜欢这样
if [ "${1}" ]; then
if [ "${ERRORSTRING}" ]; then
echo "${ERRORSTRING} ${OKSTRING}" | sed s/"^\/ "// | mail -s "$(hostname -s): ${0} reports errors\
" -E ${*}
fi
else
if [ "${ERRORSTRING}" -o "${OKSTRING}" ]; then
echo "${ERRORSTRING} ${OKSTRING}" | sed s/"^\/ "//
exit ${ERR}
else
echo no zpool volumes found
exit 3
fi
fi
Run Code Online (Sandbox Code Playgroud)
题
做什么${1}和${*}做什么?
命令行参数$ 1,$ 2,$ 3,... $ 9是位置参数,$ 0指向实际的命令,程序,shell脚本或函数,$ 1,$ 2,$ 3,... $ 9作为参数命令.
"$*"特殊参数将整个列表作为一个参数,其间带有空格,"$ @"特殊参数获取整个列表并将其分隔为单独的参数.
假设test.sh给出如下:
#!/bin/sh
echo "File Name: $0"
echo "First Parameter : $1"
echo "First Parameter : $2"
echo "Quoted Values: $@"
echo "Quoted Values: $*"
echo "Total Number of Parameters : $#"
Run Code Online (Sandbox Code Playgroud)
