shell基础应用

一丶什么是shell?

Shell是在linux你忽然与用户之间的解释器程序,通常指的是bash,负责想内核翻译及传达用户/程序指令


Shell的使用方法:


1.交互式执行指令:人工干预,执行效率低.


2.非交互执行指令:安静地在后台执行,执行效率高,方便写脚本.


cat /etc/shell    查看本机所有的解释


yum -y install ksh   安装新解释器


bash的优点


tab补齐 别名 快捷键 历史命令 管道 重定向


 


编写Shell脚本规范


1.声明解释器


    #!/bin/bash


2.注释,可以说明脚本功能,变量的作用等


3.执行代码


+x权限


直接使用解释器执行,使用新解释器执行(开启子进程)


使用source(或者 .+空格  )命令执行,使用当前解释器执行(不开启子进程)   //source test01.sh


部署yum仓库脚本:


#!/bin/bash

#部署yum

echo "[adc]

name=adc

baseurl=http://content.example.com/rhel7.0/x86_64/dvd

enabled=1

gpgcheck=0" > /etc/yum.repos.d/adc.repo

汇率查询 http://www.gendan5.com/exrate.html


部署ftp脚本:


#!/bin/bash


yum -y install vsftpd &> /dev/null


systemctl restart vsftpd


 systemctl enable vsftpd



常量:固定不变


变量:灵活多变,脚本多使用变量可以增加性能


变量的种类


1.自定义变量


        变量名称=变量的值 定义变量值的过程叫做赋值,名称的定义可以用大小写字母,数字,下划线,不能以数字开头,不能使用特殊符号


a=20  //定义变量


echo $a  //调用变量


a1=20


1a=20   //定义失败


a_1=20


a$=20   //定义失败


a=40


echo $a RMB


unset a   //取消变量定义


 


环境变量


UID当前用户的ID  USER当前用户名 SHELL当前用户的解释器 HOSTNAME主机名 HOME当前用户的家目录 PWD所在目录的位置 PATH存放命令的位置


PS1一级提示符 PS2二级提示符


 


变量的扩展应用


" "界定范围


' '界定范围,屏蔽特殊符号


` `反撇号,可以获取命令执行结果   ==   $(  )


 


stty -echo   //屏蔽回显


stty echo   //恢复回显


a=20


export a 局部变量->全局变量


export -n a 全局变量->局部变量


 


计算


方法一


expr 1   +   1 


expr 1   -   1 


expr 1   /   1 


expr 1   \*   1       1   '*'   1          \转义符号  屏蔽之后一个字符的特殊含义


expr 5   %   2   >>>>  1  求模,取余数


方法二


echo $[ 1+1]


echo$[a+a]


方法三


let 运算结果不显示,通常用于使用运算结果定义变量的值,或者对变量进行自增减


let a++


let a--


let a+=2


let a-=2


方法四


bc计算器,可以计算小数


echo 1.15+5.04 | bc


echo scale=3;10/3 | bc   //scale定义小数点后几位


请使用浏览器的分享功能分享到微信等