shell脚本

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

原文地址:https://www.cnblogs.com/chaikefusibushiji/p/7475582.html