linux 第一章 shell编程及自动化运维实现

linux shell编程及自动化运维实现

第一章 变量

一、shell 前言

1、shell语言的特点:
  • SHELL语言是指Unix操作系统的命令语言,同时又是该命令语言的解释程序的简称。

  • shell本身是一个用c语言编写的程序,它是用户使用unix/linux的桥梁,用户的大部分工作都是通过shell完成的。

  • shell即是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令。

  • 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

  • 它虽然不是unix/linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序。

  • 建立文件并以并行的方式协调各个程序的运行。

  • 因此,对于用户来说,shell是最重要的实用程序。

  • 深入了解和熟练掌握shell的特性及其使用方法,是用好unix/linux系统的关键。

2、shell能做什么:

在这里插入图片描述

3、shell执行方式

shell多种执行方式:

  • 准备测试脚本:
[root@localhost] vim file1
echo "hello 2020"
read -p  "请输入您的姓名:"  name 
echo "哈哈$name是大笨蛋"

执行1:bash file1

[root@localhost] bash file1
hello 2022
请输入您的姓名:666
哈哈哈666是大笨蛋

执行2:sh file1

[root@localhost] sh file1
hello 2022
请输入您的姓名:666
哈哈哈666是大笨蛋

执行3:. file1

[root@localhost] . file1
hello 2022
请输入您的姓名:666
哈哈哈666是大笨蛋

执行3:source file1

[root@localhost] source file1
hello 2022
请输入您的姓名:666
哈哈哈666是大笨蛋

多种执行方式的区别:

准备环境:

#1.准备环境
[root@localhost] ls /home
aofa

vim bash.sh

#!/bin/bash                        #脚本声明
cd /home
ls

1和2的方式,是子shell,执行完不影响本shell。

[root@localhost~] bash     #进入子shell,默认打开
[root@localhost~] exit     #退出子shell    
[root@localhost] bash  bash.sh
aofa
[root@localhost~] sh  bash.sh
aofa
[root@localhost~] pwd
/root #当前的位置还在root你看不见那个shell它运行完就自动关了

3和4的方式,是本shell ,执行完改变本shell。

[root@localhost~] . bash.sh    #影响的是当前shell
aofa
[root@localhost home] pwd
/home
[root@localhost~] source bash.sh    #影响的是当前shell
aofa
[root@localhost home] pwd
/home
4、shell解释器的位置
[root@localhost ~] which  bash
/usr/bin/bash

[root@localhost ~] cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

二、变量

简介:shell变量用一个固定的字符串去表示不固定的内容,便于修改

==简述:==用户自定义变量是最常见的变量类型,其特点是变量名和变量值都是由用户自由定义的。

学习要点:

  • 定义变量:变量名=变量值

  • 引用变量: 变量名,或 变量名,或 变量名,或{变量名}

  • 查看变量:echo$变量名;set可以查看所有变量(包括自定义变量和环境变量)

  • 取消变量:unset变量名

1、自定义变量

自定义变量只在当前shell内生效

定义变量

该如何定义变量呢?很简单,只需执行“变量名=变量值”命令即可,不过要遵守变量定义规则。例如:

[root@localhost ~] name="hyb    666"
变量调用

当我们需要提取变量中的内容时,需要在变量名之前加入“$”符号。那么最简单的变量调用就是通过echo命令输出变量的值。命令如下:

  • 定义变量name
[root@localhost ~] name="hyb 666"
  • 输出变量name的值
[root@localhost ~] echo $name
hyb 666
  • 错误定义示范

变量的定义就是这么简单,但是如果不遵守变量定义规则,就会报错:比如:

变量名不能以数字开头

[root@localhost ~] 2name="hyb 666"
bash: 2name=hyb 666: 未找到命令...

等号左右两边不能有空格

[root@localhost ~] name = "hyb  666"
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@何永斌@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值