Shell
shell是什么?
shell是一种脚本语言
可以使用逻辑判断、循环判断等语句;
可以自定义函数;
shell是系统命令的集合,比如Windows的批处理命令;
shell脚本可以实现自动化运维,能打打增加我们的运维效益;
shell脚本结构
开头必须加#!/bin/bash
也就是调用/bin/bash的内核运行
脚本的名字以.sh结尾,用来区分是一个shell脚本;
执行方法有两种:
1.作为可执行程序
chmod +x 1.sh //是脚本具有执行权限
./1.sh //执行脚本
2.作为解释器参数
bash 1.sh //也可以sh 1.sh
查看脚本执行过程:bash -x 1.sh
查看脚本是否语法错误:bash -n 1.sh
date日期命令
年月日:
命令:date +%Y-%m-%d
输出:2018-04-17命令:date +%F
输出:2018-04-17命令:date +%y-%m-%d
输出:18-04-17命令:date +%Y%m%d
输出:20180417
时间:
命令:date +%H:%M:%S
输出:20:23:16命令:date +%T
输出:20:23:16
周:
%w:这个月第几周
%W:今年第几周
时间戳:
date +%s
date -d @1504620492
增加减少年月日:
date -d "+1day" 一天后
date -d "-1 day" 一天前
date -d "-1 month" 一月前
date -d "-1 min" 一分钟前
变量
命名规则:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
shell数值:
a=1;b=2; //给变量a赋予数值1,变量b赋予数值2
c=$(($a+$b)) //c=a+b,使用运算必须前面加$
shell字符串:
字符串时shell变成中最常用最有用的数据类型(数字和字符串),字符串可以用单引号,也可以用双引号;
单引号:
str=‘this is a string’
无法使用转义符和变量;
双引号:
your_name=‘aaaa‘
str="Hello,I know your are \"$your_name\"! \n"
双引号的优点:可以有变量,可以出现转义符;
调用变量值必须在前面带$符号
引用某个命令的结果时,用变量替代 n=wc -l 1.txt
写和用户交互的脚本时,变量也是必不可少的 read -p "Input a number: " n; echo $n 如果没写这个n,可以直接使用$REPLY
内置变量 $0, $1, $2… $0表示脚本本身,$1 第一个参数,$2 第二个 .... $#表示参数个数
数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]
原文地址:http://blog.51cto.com/shuzonglu/2104608