不加引号和使用单引号都是原样输出,不加引号时分号被认为是命令结束,
单引号中无法输出单引号
echo -n #不换行输出
echo -e "1\t2" #使用转义字符时-e参数
echo -e "\e[31m hello" #使用红色文字显示hello,\e[0m重置回默认颜色,30开始文字颜色,40开始背景颜色
stty -echo #输入不显示在终端
stty echo #输入显示在终端
$( ) #命令,或者反引号(ESC下)
$[ ] #算术运算,或let
${ } #变量
${# } #获得变量长度
$? #命令执行状态,0成功,其他错误
$0 #返回当前shell
$1 $2... #第一个参数,第二个参数...
> #覆盖
>> #追加
1> #标准输出重定向,1可省略
2> #错误重定向
2>&1 #标准输出与错误输出均重定向到同一文件
>/dev/null #不显示输出信息
date | tee a.txt | grep .. #执行date命令的输出保存在a.txt并作为grep的输入,tee只保存标准输出1,并且以覆盖的方式,追加用-a参数
a=(1 2 3 4 5) #定义整型数组,每个元素空格隔开
b[0]="hi"
b[1]="ha ha ha" #定义字符串数组
echo ${a[0]} #输出第0个元素
echo ${a[*]} #显示数组中的所有值,*也可以用@代替
echo ${#a[*]} #显示数组长度`
date +%a #星期
date +%y #年
date +%b #月
date +%d #日
date +%H #时
date +%M #分
date +%S #秒
date +%s #距标准时间的秒数
if [ a -lt b] #lt小于,eq等于,gt大于,le小于等于,ge大于等于
then
echo a<b
else
echo a>b
fi
原文:http://blog.51cto.com/dangxia/2149631