【24】linux进阶——初识shell

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家

另外其它专栏请关注:

锐捷数通实验:锐捷数通实验

网络工程师成长日志:网络工程师成长日志

it自动化运维:it自动化运维

 一 shell脚本小案例

由这个非常简单的小案例,我们可以看出:

在脚本文件的开头,需要加上#!/bin/bash 来定义解释器/bin/bash

该脚本文件应该为可执行的权限,所以应该用chmod +x 脚本文件来增加可执行权限,这样一个最简单的shell脚本就做出来了

二 变量

shell编程中变量可分为三种,分别是系统变量、环境变量和用户变量,在定义变量时,不能以数字开头,中间不能有空格,也不能用标点符号。

定义一个简单变量

export设置环境变量。使用export设置的变量就成为了环境变量,而没有使用export 设置的则是自定义变量。但是export命令新增加的环境变量只有在每次登陆的时候有效。 

通过export设置的变量会占用一定的内存空间,例如:

 注:env列出所有环境变量及其赋值

 常用的还有位置变量,使用$n表示,其中n为数字的序列号,例如输出第1,2,4,5个字符,abde在abcdefg中排第1,2,4,5个,所以正常输出abde

 一个经典小案例是创建用户和密码:

比如编写shell创建用户和密码,第一个变量是用户名,第二个变量是密码,这样这两个变量可以在shell脚本中用$1和$2表示

 这样就成功创建了一个叫zqr的用户,密码是redhat

shell系统变量,主要是用于对参数判断二号命令返回值判断时使用

$0

当前脚本的名称

$n当前脚本的第n个参数,n=1,2,…9;
$* 当前脚本的所有参数(不包括程序本身);
$# 当前脚本的参数个数(不包括程序本身);
$?令或程序执行完后的状态,返回0表示执行成功;
$$ 程序本身的PID号

 也可以将命令的结果复制给一个变量

将nmcli设备状况结果赋值给device这个变量

 所有变量在默认情况下,都是字符型,比如设置两个变量a和b,a=1,b=2,c=$a+$b,此时echo $c就是1+2,因为此时1和2都是字符。要想输出3,应该declare -i申明变量类型是int整型。例如:

 “生活的方向无论你如何选择都会后悔,人总向往没经历过的生活”

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天亮之前_ict

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

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

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

打赏作者

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

抵扣说明:

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

余额充值