sh -x scriptname print the command execute result
sh -n scriptname no run the script and check the script programmer error
sh -v scriptname 在实际执行一个命令前打印出这个命令.
set -o verbose
# 执行前打印命令.
shell 注意事项
var=newvar
等号赋值,左右两边不可以有空格
Test和[]中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式。
a. if 与 [ 之间缺少空格
b.[ ] 之间的参数之间缺少空格
c.[与后面的参数之间缺少空格
sh -n scriptname no run the script and check the script programmer error
sh -v scriptname 在实际执行一个命令前打印出这个命令.
set -o verbose
# 执行前打印命令.
shell 注意事项
var=newvar
等号赋值,左右两边不可以有空格
Test和[]中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式。
a. if 与 [ 之间缺少空格
b.[ ] 之间的参数之间缺少空格
c.[与后面的参数之间缺少空格
正确的方式 if ["$HOME" = "/home/igi" ]
单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符,而不会有特殊符号.
-> echo "$(date)"
Thu Aug 24 16:41:08 CST 2017
case 分支结束的双分号
case $1 in
green)
echo -en "\033[32m$2\033[0m";;