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 PS1 [\[\e[34;1m\]\u@\[\e[35;40m\]\[\e[35;40m\]\H\[\e[0m\] \[\e[31;1m\]\w\[\e[0m\]]\
更改命令行自定义环境变量:
方法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 a 123 [root@doubleman ~]# x=1 [root@doubleman ~]# let y=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 /]# [ "a" -eq "1" ]&&echo 1||echo 0 1 1)整数表达式符 两端要有空格 2)中括号里面两端必须要有空格 3)变量和比较的内容,不需要加引号 字符表达式: -z 变量内容长度为0时,为真(正确)。zero -n 变量内容长度【不】为0时,为真(正确)。not zero a == a 字符串是否相同 说明: 1)字符串要加双引号 判断句: 如果。。。那么。。。否则 如果【 你是个潜力股 】 那么 就和你搞对象 否则 拜拜 if:如果语法:if [ 表达式 ] then:那么 else:否则 fi:结束 书写脚本习惯: 1、以.sh结尾 2、脚本开头第一行 #!/bin/bash 脚本内容由谁解释 由于Linux系统下默认用的是bash,所以也可以不写这行 read命令 读取用户输入 -p “提醒:” -t “多长时间内等待输入” read -t 3 -p “请输入一句话:” boy [root@oldboyedu ~]# cat t.sh echo1 $2
[root@oldboyedu ~]# sh t.sh oldboy oldgirl
oldboy oldgirl
for循环

for n in 列表
do
执行命令
done

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Shell编程3小时光速入门 因为Web集群架构会用到Shell编程基础,提前讲。 跟老男孩学Linux运维:Sh...
    E的彼岸阅读 1,234评论 0 0
  • 1、为什么要学习Shell编程? Linux系统中会大量的使用Shell,工作中我们也需要自动化实现业务, 例如:...
    放手吧_e512阅读 2,523评论 0 0
  • 老男孩Linux运维58期课堂笔记 ...
    乐园_YD阅读 1,580评论 0 0
  • Shell编程3小时光速入门 因为Web集群架构会用到Shell编程基础,提前讲。 跟老男孩学Linux运维:Sh...
    凡夫俗子_9e56阅读 1,175评论 0 0
  • 作者:马帅琦 归档:day28 时间:2019/4/9 Shell编程3小时光速入门 因为Web集群架构会用到Sh...
    马帅琦阅读 2,967评论 0 0

友情链接更多精彩内容