shell bash-shell
bash shell中的命令替换,`cmd`或者$(cmd)。
bash shell中的变量赋值,直接name = var; (bash中的变量赋值不能中间有空格)
变量引用时,$name,如果name比较复杂,也可以是${name}
取消变量的设置,unset,unset name
bash中的for循环方式:
1) for i in 1 2 3 4 5
do
echo "$i----->$(uptime)"
done
也可以写为
for i in $(seq 1 10)
for i in {1..10}
num="1 2 3 4"
for i in $num
2) for i in `ls ./*.tar.gz`
do
tar -zxvf $i >/dev/null
done
该方法也可以拿到当前路径下文件名并放在一个列表中。
for i in `ls -1`
3)sum=0
for (i=0; i<100; i++)
do
sum=$(expr $i \* 3+1)
echo sum
done
bash中$#表示命令行输入的cmd参数的个数,$?表示上一个cmd的返回值。
exit_status=0
eval ${VCSBIN_DIR}/hvp_exe $cmd ${logout}
exit_status=$?
bash中写一个子标签,
usage()
{
echo "Usages: hvp command"
echo "To see commands, 'hvp help' "
}
bash中的case 。。。esac
case `uname` in
SunOS*)
;;
Linux*)
;;
esac
其中的两个双引号,表示其他语言中的break.
bash中的if-else-fi
if []; then
elif []; then
fi
其中的判断句,-f 存在某个文件;
-x 存在某个可执行文件;
x"${vcs_home}" = x ;判断变量${vcs_home}是否被定义过。前边加x,否则直接应用比较出错。
if [ x"${vcs_home}" = x ]; then
fi
-a,条件与, -o,条件或, !条件非
exit(0) 正常运行程序并退出程序。
exit(1) 非正常运行程序导致退出程序。