shell脚本介绍及简单用法
1.shell脚本介绍 shell脚本并不能作为正式的编程语言,因为它是在Linux的shell中运行的,所有称为shell脚本。shell是一种脚本语言;可以使用逻辑判断、循环等语法;
可以自定义函数;
shell是系统命令的集合;
shell脚本可以实现自动化运维,能大大增加我们的运维效率;2.shell脚本结构和执行方法shell脚本开头需要加#!/bin/bash;以#开头的行作为解释说明;脚本的名字以.sh结尾,用于区分这是一个shell脚本;# cd /usr/local/sbin/
# vim first.sh
cat first.sh
#! /bin/bash
echo "Hello World!"
w
# sh first.sh
Hello World!
20:56:06 up 15:37,1 user,load average: 0.03, 0.04, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 gateway 20:20 6.00s0.03s0.01s w
执行方法有两种,给脚本添加x权限后,“./first.sh”;# chmod +x first.sh
# ./first.sh
Hello World!
20:57:03 up 15:38,1 user,load average: 0.01, 0.04, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 gateway 20:20 7.00s0.03s0.00s w还有一种是“bash first.sh”;# bash first.sh
Hello World!
20:57:28 up 15:38,1 user,load average: 0.01, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 gateway 20:20 0.00s0.05s0.01s w
sh命令执行一个shell脚本时,可以加-x选项查看脚本执行过程,-n选项查看脚本是否语法错误。# sh -x first.sh
+ echo 'Hello World!'
Hello World!
+ w
20:58:35 up 15:39,1 user,load average: 0.00, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 gateway 20:20 3.00s0.05s0.00s w
# sh -n first.sh
3.date命令date命令的用法如下:date +%Y-%m-%d, date +%y-%m-%d-年月日;# date +%Y-%m-%d
2018-07-11
# date +%y-%m-%d
18-07-11date +%H:%M:%S,date +%T-小时分钟秒;# date +%H:%M:%S
21:21:26
# date +%T
21:21:41date +%s-时间戳,表示从1970年00:00:00过去了多少秒;# date +%s
1531315325date -d @1531316090;# date +%s -d "2018-07-11 21:34:50"
1531316090
# date -d @1531316090
Wed Jul 11 21:34:50 CST 2018
date -d "+1day"-一天后;# date -d "+1day"
Thu Jul 12 21:22:26 CST 2018date -d "-1day"-一天前;# date -d "-1day"
Tue Jul 10 21:22:54 CST 2018date -d "-1month"-一月前;# date -d "-1month"
Mon Jun 11 21:23:19 CST 2018date -d "-1min"-一分钟前;# date -d "-1min"
Wed Jul 11 21:22:36 CST 2018
4.shell脚本中的变量当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替;使用条件语句时,常使用变量 if [ $a -gt 1 ]; then ... ; fi;引用某个命令的结果时,用变量替代 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]。
感谢分享 感谢分享
页:
[1]