《我的Linux成长之路(二十四)------shell第一课:shell编程规范及变量》

好久没有更新Linux的博客了 这段时间一直再研究网络安全一些渗透技术,几天趁着没有事就更新下自己的博客,废话不说 了现在开始进入正题。
众所周知在运维中我们如果不会编写sh文件那是多么的可怕,每条命令都得自己手动去敲击。而编写shell脚本就不一样了我们可以进行类似批处理的操作,执行一次写好然后去执行就可以了。

Shell概述

shell脚本就是后缀名为.sh的文件
其实shell脚本是用来帮助管理员实现批量化去完成任务,结合计划任务实现自动化运维,可以减轻运维人员的工作量。

shell 编程的规范

在练习的时候我们最好去养成一个好的习惯
首先我们可以创建目录来集中管理我们的sh文件
编写脚本过程
vi 脚本名.sh
#声明解释器(声明使用哪种解释器,cat /etc/shells文件中的所有解释器都可以使用,解释器可安装)
在这里插入图片描述
#进行注释
命令语句
:wq
这就是编写脚本的过程
编写脚本的时候一定要写注释,不然我们以后很快就会忘记他的作用什么的。可以从一开始养好习惯
写完脚本我们并不能直接运行 原因是我们没有给他执行的权限
chmod +x 文件名.sh #给该文件执行权限
然后运行脚本
其实不给权限也能运行,下面总结下运行sh文件的三个方法
方法一:我们上面写到的编写完shell脚本后,付给该脚本文件运行权限
然后直接运行即可
方法二:source 脚本的绝对路径或相对路径(不需要脚本文件有执行权限)
方法 三:sh-x 脚本的绝对路径或相对路径(不需要脚本文件有执行权限)

脚本的基本知识

  1. 重定向:改变了标准的输入输出状态

/>:重定向输出到某个位置,替换原有文件的所有内容(前面没有/)
/>>:重定向追加输出到某个位置,在原有文件的末尾添加内容(前面不加/)
<:重定向输入某个位置的文件
2>:重定向错误输出
2>>:重定向错误追加输出到文件的末尾
&>:混合重定向输出,正确错误的输出结果都会输出
1,2>:同上
后面我们会实例使用这些重定向符

  1. 管道符:将|前的命令输出结果作为管道|后的命令的输入
  2. echo命令:返回结果并显示再屏幕上
    该命令的用法为:echo [选项] ‘需要返回的值’
    一些常用的选项有 -e 出现特殊字符则不进行转义
    如下:
    在这里插入图片描述
脚本中变量的使用

和其他编程变量一样
变量的分类:自定义变量 相互定义变量 环境变量 位置变量 预定义变量
下面看下shell编程变量的定义
使用变量:在命令中直接使用 $变量名
取消变量:unset 变量名

变量的作用范围:局部 和全局变量

局部变量:变量名=变量值,此种变量只能在当前bash中有效
全局变量:export 变量名=变量值,此种变量在当前bash和当前子bash中有效
可用 bash命令开启当前进程的子进程bash,exit退回到父bash进程
变量名的生命不能使用特殊符号

**自定义变量:**直接声明 变量名=变量值
注意下变量值中一些引号的使用
“”:弱引用 直接将双引号中的所有内容一起引用,包括特殊符号
‘’:强引用 再使用的时候会将单引号内的特殊失效
$():再定义变量的时候,引用命令,可以嵌套

read -p “提示文字信息” 变量的名称
提示文字信息:123
echo $变量名
看下面的例子
创建一个shell编程
在这里插入图片描述
在这里插入图片描述然后:wq保存 调用该脚本
在这里插入图片描述
环境变量的定义‘
环境变量其实设置的事用户的工作环境,名称不能修改,值可以进行修改
常用的环境变量为:

PATH=设置外部命令的存放的路径,用冒号隔开
TMOUT=设置登录超时,单位为秒
HISTSIZE=设置历史命令记录的条数
LANG=设置语言环境(vi /etc/sysconfig/i18n 进行永久修改字符集)
注:设置临时环境变量时(注销就失效了):export PATH=

.环境变量的查看:env命令查看当前工作环境的所有环境变量;
在这里插入图片描述
/etc/profile文件为用户每次登陆 执行的的配置文件
每个用户家目录中的.bash_profile是每个用户独立的环境变量配置文件
位置变量和预定义变量:

  1. 位置变量用于将脚本参数传递给脚本,有$1-$9,除命令或脚本
    本身外的所有
  2. 预定义变量:用户只能使用,不能创建,不能直接赋值(相当于系统自带的)
    $0:为脚本本身或命令本身
    $*:为脚本后的所有参数
    $#:脚本参数数量统计
    $?:上一条命令是否执行成功,返回值为0则成功,否则失败
    注:在shell脚本中,所有的路径必须为绝对路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值