Shell概述、编写及执行脚本、Shell变量、数值运算

本文详细介绍了Linux Shell的基础概念,包括Shell的种类、切换方法、基本特性和脚本编写规范。讲解了交互式与非交互式的使用场景,以及如何利用Shell进行自动化任务处理。同时,深入探讨了变量的定义与使用,算术运算,以及如何通过脚本部署YUM仓库和FTP服务。
摘要由CSDN通过智能技术生成

什么是Shell?

  • 在Linux内核与用户之间的解释器程序

       -通常指/bin/bash

       -负责向内核翻译及传达用户/程序指令

       -相当于操作系统的"外壳"如何切换Shell环境

Shell的使用方式

交互式--命令行

-人工干预,智能化程度高

-逐条解释执行,效率低

非交互式--脚本

-需要提前设计,智能化难度大

-批量执行,效率高

-方便在后台静悄悄地运行

常见的Shell程序种类

  • 如何切换Shell环境

    -通过usermod、chsh更改登录Shell

    -手动执行目标Shell程序

Bash基本特性

  • 命令行环境回顾

     -快捷键,TAB键补齐

     -命令历史

     -命令别名

     -标准输入输出

     -重定向

     -管道操作

编写Shell脚本规范

1.声明解释器

     #!/bin/bash

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

3.执行代码

脚本的执行方式:

1.+x权限 (不开启子进程)

2.直接使用解释器执行,使用新解释器(开启子进程)执行脚本命令

3.使用source命令执行,source使用当前解释器(不开启子进程)执行脚本命令

编写部署YUM仓库的脚本

#!/bing

vim test03.sh

[haha]   #仓库名

name haxi

baseurl ftp://192.168.4.254/centos-1804

 

 

编写部署ftp服务脚本

#!/bin/bash

vim test03.sh

yum -y install vsftpt  &>/dev/null  #下载ftp服务

systemctl restart vsftpd   #重启服务

systemctl enable vsftpd   #设置开机自启

 

bash test03.sh    #执行

systemctl status vsftpd  #检查服务状态
————————————————
常见 固定变

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

变量的种类

1.自定义变量

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

变量名:abc    _Abc

定义变量:

a=20  #定义变量

echo $20  #调用变量

a1=20

1a=20  #定义失败

a_1=20

a$=20  #定义失败

a=40

echo  $a

echo  $aRMB  #容易混淆

echo ${a}RMB  #加大括号间隔

取消定义:

a=10  #定义变量

a=      #定义变量为空(取消定义)

unset a  #取消定义

环境变量:

$UID(用户ID号)   $USER(用户名)  $SHELL(当前用户的解释器)  $HOSTNAME(主机名)  $HOME(当前用户的家目录)  $PWD(所在目录位置)  $PATH(存放命令的路径)  $PS1(一级提示符)  $PS2(二级提示符)

位置变量与预定义变量

$0 $1 $2 $3   #位置参数的数值
$#    #位置参数的个数 
$?   #上一条命令是否成功 0是成功 其他则是失败
$*    #显示所有参数
$$   #显示进程号

变量的扩展

1.""  界定范围

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

3.`` 反撇号,可以获取命令执行的结果

       $()可以实现相同效果

touch a b  #创建两个文件

touch "a b"  #创建一个文件

a=10  

echo "$a"  #输出变量的值

echo '$a'  #输出字符$a

a=date  #把4个字母赋值给a

a=`date`    #把date的执行结果赋值给a

脚本常用的命令

讲脚本设置为交互式,可以从用户获取变量的值

read -p "提示信息"  变量名

stty -echo   屏蔽显示

stty echo   取消屏蔽显示

 

a=10  #局部变量

          #全局变量

export a  #把变量a变成全局变量

export b=20  #创建+发布b为全局变量

export -n a   #取消全局变量

 

env    #查看所有常用环境变量

set    #查看所有变量
————————————————

shell中的运算

方法一:

expr 1 + 1

expr 2 - 1

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

expr 9 / 3 

expr 5 % 2    #求模  取余数

方法二:

echo $[    ]

echo $[1+1]

echo $[8-5]

echo $[8*6]

echo $[8/2]

echo $[8%3]

方法三:

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

常规写法        主流写法

let a=a+1        let a++

let a=a-1        let a--

let a=a+2        let a+=2

let a=a+b        let a+=b

let a=a*b        let a*=b

方法四:bc计算器,可以计算小数

bc    #常规使用

1+1 

2-1

echo 1.1+2 | bc   #非交互式使用

scale3  #定义小数点后长度

echo "scale=3;10/3" |bc  #定义小数点后并运算

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值