7. 时间
获取时间
time=$(date)
date命令执行结果赋值给变量time
"Wed Jun 1 14:56:22 CST 2016"
格式化
time=$(date +"%Y-%m-%d %H:%M:%S")
"2016-06-01 14:56:49"
time=$(date +"%m%d")
"0601"
6. 脚本函数
格式:
fname()
{
//body
}
参数:函数可有参数,参数一律不显示,使用方式 var1=${1}; var2=${2}; var3=${3}
即把${n}直接当变量使用,同时$#代表参数个数,$*代表全部参数
调用:fname "arg1" "arg2" "arg3"
使用其它脚本中定义的函数:
source /path/name.sh
fname "arg1" "arg2" "arg3"
5. 字符串截取
%c* :从后向前查找第一个字符c,删除c及其后所有字符
从字符串“83%”中提取数字
%属保留字,故需反斜杠进行转义
4. 分支语句
if-else
3. 条件判断
判断的对象可以是:整数和字符串
判断操作符可以是:> < >= <=
使用 > < 进行数值比较,使用(( ));使用 > < 进行字符串比较,使用[[ ]]。注意:括号两侧要有空格
示例,整数比较
字符串比较:
说明:浮点数不可参与比较,如需必要,可使用awk '{print int()}'进行取整
2. 变量
定义
数值变量:var=16;
字符变量:var="nihao"
要求=两边不能有空格
使用
$var 或 ${var}
变量名外的花括号是可选的,加花括号的目的是帮助解释器识别变量的边界
echo "result is $num"
if [[ $str > "71%" ]]
echo "use ${java}Script" //如果不加花括号,解释器将错把javaScript整体当做一个变量名
说明:为防止变量名意外操作带来的重大损失,所有变量使用时必须加花括号
1. 指定解释器
shell脚本的第一行:
#!/bin/bash
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell