> 文档中心 > shell 中的变量,常用命令全解(1)【看完再也不怕看不懂脚本啦】

shell 中的变量,常用命令全解(1)【看完再也不怕看不懂脚本啦】

文章目录

  • shell定位
  • shell中的变量
      • 位置变量&特殊变量
      • 变量截取
      • 默认值使用方法

shell定位

shell的定义:在计算机科学当中,shell就是一个命令解释器
在这里插入图片描述

一句话:shell就是在操作系统和应用程序之间的一个命令翻译工具。

shell中的变量

变量定位:变量包括两部分:变量名【不变的】= 变量值【可变的】
变量分类

  • 本地变量:手工方式定义的作用范围小的变量
  • 全局变量:手工|默认方式定义作用范围大的变量
  • 内置变量:bash命令中自带的一些参数变量

普通变量的定义

  • 变量名 = 变量值 #变量值必须是一个整体,没有特殊字符
  • 变量名 = ‘变量值’ #我们看到什么样子,输出就是什么样子
  • 变量名= “变量值” #先对变量名值进行解析,判断有没有指代的

习惯:数字不加引号,其他默认加双引号

命令变量:变量名= $(命令)
全局变量的定义:env 只显示全局变量。定义方法:export 变量=值(常用)
在这里插入图片描述
取消变量unset 变量名

位置变量&特殊变量

#!/bin/bash# 获取指定位置的参数,位置变量echo "第一个位置变量是$1"echo "第一个位置变量是$2"echo "第一个位置变量是$3"echo "第一个位置变量是$4"echo "第一个位置变量是$5"echo "脚本的名称是$0"    #获取文件名echo "一共有 $# 个位置变量"echo "所有位置变量是$@"echo "当前脚本传入的参数数量是: $#"

在这里插入图片描述
在这里插入图片描述

小任务
看懂 vim /usr/sbin/service这个脚本文件

变量截取

格式:${变量名:起始位置:截取长度}

示例:${file:0:5} 从第1个字符开始,截取5个字符${file:5:5} 从第6个字符开始,截取5个字符${file:0-6:3} 从倒数第6个字符开始,截取之后的3个字

默认值使用方法

场景一:
变量a如果有内容,那么就输出a的变量值
变量a如果没有内容,那么就输出默认的内容
格式:${变量名:-默认值}

套餐示例:如果我输入的参数为空,那么输出内容是 "您选择的套餐是: 套餐 A"如果我输入的参数为n,那么输出内容是 "您选择的套餐是: 套餐 n"#!/bin/bash# 套餐选择演示a="$1"echo "您选择的套餐是: 套餐 ${a:-A}"

场景二:
无论变量a是否有内容,都输出默认值
格式:${变量名+默认值}

场景示例:不管我说国家法定结婚年龄是 多少岁,都输出 国家法定结婚年龄(男性)是 22 岁#!/bin/bash# 默认值演示示例二a="$1"echo "国家法定结婚年龄(男性)是 ${a+22} 岁"

shell 中的变量,常用命令全解(1)【看完再也不怕看不懂脚本啦】 创作挑战赛 shell 中的变量,常用命令全解(1)【看完再也不怕看不懂脚本啦】 新人创作奖励来咯,坚持创作打卡瓜分现金大奖