day28

shell编程基础
为什呢要学shell编程
Linux系统中会大量的使用Shell,工作中我们也会需要自动化实现业务,
例如:自动备份、监控、自动安装服务
shell编程是Linux运维人员必须要会的编程语言,是最简单的编程语言
编程也是运维人员必须具备的本领:
Shell、python是运维人员必须具备的本领。
什么是Shell
shell是一个解释器,命令行的命令以及脚本都会通过shell解释,传给操作系统,处理后再输出给
用户
root:x:0:0:root:/root:/bin/bash
创建用户时,指定系统的翻译官
shell的分类:
1、bourne shell
2、C shell
[root@doubleman ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
7.6版本支持的shell种类
什么是shell脚本?
程序、命令放入文件里执行,这个文件称之为shell脚本
文件工作中最多的编程是写脚本,存放在文件里
shell的变量:
1、全局变量(环境变量)
在整个系统中生效,一般是大写,系统中默认就存在一些这样的变量,
满足系统和程序运行的需求
系统自带环境变量:
[root@doubleman ~]# echo
更改命令行自定义环境变量:
方法1、
export OLDBOY=“I am oldboy”
方法二
OLDBOY=“I am oldboy”
export更改环境变量
/etc/profile==>/.bash_profile==>/.bashrc==>/etc/bashrc
推荐用/etc/bashrc 别的都会被他顶掉。
安装java服务的时候就会配置环境变量
2、局部变量(普通变量)
是编写shell脚本最常用的变量
用法:变量名=值,例如:a=1
变量名的要求:可以是数字、字母、下划线,不能是数字开头
如:oldboy 是可以的,123a 是不合法的
等号:赋值符,把什么东西给谁。赋值符号两边不能有空格
值:东西,变量内容。
引用内容的符号:单引号、双引号、反引号、不加引号
[root@doubleman ~]# a=123
[root@doubleman ~]# echo x+1
[root@doubleman ~]# echo $y
2
let:实现计算,让后边内容进行计算
表达式
【 表达式 】中括号表达式,中括号里边两端必须要有空格
字符串要加双引号
[root@doubleman /]# [ "a" = "z" ] &&echo 1||echo 0
0
[root@doubleman /]# [ "a" = "a" ] &&echo 1||echo 0
1
如果表达式成立打印1,不成立打印0
整数表达式:

     -gt

= -ge
< -lt
<= -le
= -eq
不等于 -ne
[root@doubleman /]# [ "a1 $2
[root@oldboyedu ~]# sh t.sh oldboy oldgirl
oldboy oldgirl
for循环

for n in 列表
do
执行命令
done

你可能感兴趣的:(day28)