概述
一、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号
$?代表程序的退出代码
$!代表上一个进程号
最后
以上就是愤怒糖豆为你收集整理的自动化运维(一)的全部内容,希望文章能够帮你解决自动化运维(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复