我是靠谱客的博主 愤怒糖豆,最近开发中收集的这篇文章主要介绍自动化运维(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、Shell简介

1、什么是Shell?

是一个概念,不能用;Linux内核与用户之间的解释器程序。

2、什么是Bash?

基于Shell概念做出的一个具体产品,可操作的,是默认解释器。假如Shell是汽车,那么Bash就是宝马X5

二、Bash功能介绍

1、命令别名:

 alias          #查看系统当前所有别名   【别名优先级高于基本命令】
alias h5='head -5'
unalias h5      #取消别名

2、管道与重定向:

1、标准输入的文件描述为0,标准输出的文件为1,错误输出的文件为2
   >  输出重定向	>> 追加重定向	   <  输入重定向    2>   错误输出重定向
   ls -l abc install.log > all.txt 2>&1或ls -l abc install.log &> all.txt  #标准输出与错误输出均导入all.txt
2、[ $USER != root ] && echo "aqx" || echo "root"  #如果当前登陆用户是root,则输出root,否则输出aqx
3、echo "--------" >&	#将前面的输出变成错误输出

3、快捷键
在这里插入图片描述

三、Bash使用技巧

1.将无意义的输出信息导入/dev/null
    如:echo "pass" | passwd --stdin root >/dev/null
2.正确信息与错误信息分离重定向
    如:id tom >> user 2>>error       #如果存在tom用户,则将信息记录至user文件,否则记录至error文件
3.把小写字母转换为大写字母
    tr 'a-z' 'A-Z'  

变量

1、概述

使用类型(系统变量和自定义两大类)
在这里插入图片描述
2、作用:提高脚本灵活度,适应多变的环境
3、变量=容器,以不变的名称,存储可以变化的值
4、变量的要求:
* 等号两边不能有空格
* 仅由字母、数字、下划线组成,严格区分大小写
* 不能以数字开头,不要使用关键字和特殊字符

2、自定义变量

1. 变量命名建议首字母大写

typeset -r value	#添加变量只读属性
declare value		#声明一个变量
typeset -i value	#设置整数变量
unset NAME     	    #取消变量
env     			#列出所有环境变量
set    			    #列出所有变量

2、read从标准输入中读取变量值
产生交互;记录用户在键盘上的输入;将记录的内容赋值给一个变量存储

3、变量的使用范围

export NAME #设为全局变量
export -n NAME #取消全局变量

4、环境变量

在这里插入图片描述

1.  修改PATH变量
    如:PATH=$PATH:/root      #在原有路径列表后追加目录
2.  全局文件为/etc/profile,对所有用户有效;~/.bash_profile,对指定的用户有效

5、位置变量

$1代表第一个参数,以此类推

6、数组

动态定义数组,将命令输出结果作为数组的内容: 数组名=($())
定义数组:

array=(value1 value2 value3)
array[0]=value1
array[1]=value2

7、算术运算与测试

1、整数运算工具

(1)expr命令       如:expr $i + 2     expr $i * 3    expr $i % 4
(2)使用$[]或$(())      如:echo $[i+2]   echo $[i*3]     echo $[i%4]  
     echo $[2#101]    #把2进制转化成10进制
(3)使用let命令:可以改变变量的值,不显示结果,可以结合echo来显示
     如:let j=i+4     let i++;echo $i     let i+=2

2、小数运算工具bc

(1)交互式运算:输入命令bc即可
(2)非交互式运算:echo 'scale=4;12.34+33.2' | bc    #scale指定保留多少位小数

3、条件测试操作

(1)字符串测试:==     !=      (每一部分都有空格)           
    (2)一行执行多条命令
            A && B      #A成功执行B
            A || B      #A失败执行B
            A;B        #执行A后执行B  
  (3)-a  逻辑与,两边为真则真      -o  逻辑与,一个为真则真

在这里插入图片描述

8、预定义变量

$0代表当前shell程序的名称
$#代表所有参数的个数
$*和$@代表所有参数的内容,$*将所有参数作为一个整体,$@把所有参数分别作为个体
$$代表当前进程ID号
$?代表程序的退出代码
$!代表上一个进程号

最后

以上就是愤怒糖豆为你收集整理的自动化运维(一)的全部内容,希望文章能够帮你解决自动化运维(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部