当前位置: 首页 > article >正文

课时14:变量基础_变量定义

2.1.3 基本操作

学习目标

这一节,我们从 变量查看、变量定义、变量移除、小结四个方面来学习。

变量查看

语法解析

基本格式
	$变量名

示例

查看默认的shell类型
[root@localhost ~]# echo $SHELL
/bin/bash

变量定义

普通语法解析

基本格式
	变量名=变量值
	
注意:
	= 两侧不允许有空格

示例

查看一个空值变量名
[root@localhost ~]#  echo $myname

定制变量实践
[root@localhost ~]# myname=shuji
[root@localhost ~]#  echo $myname
shuji
错误的定制变量命令
[root@localhost ~]#  echo $myage

[root@localhost ~]# myage = 18
bash: myage: 未找到命令
[root@localhost ~]#  echo $myage

类型变量定义

命令语法
	declare 参数 变量名=变量值
参数解析:
    -i 将变量看成整数 
    -r 使变量只读  readonly,==**该变量的值无法改变,并且不能为unset**==
    -x 标记变量为全局变量,类似于export
    -a	指定为索引数组(普通数组);查看普通数组
    -A 指定为关联数组;查看关联数组
注意:
	在生产场景中,这种方法比较鸡肋,使用频率 0-20次/3年
设定制定类型的变量值
[root@localhost ~]# declare -i mynum='shuzi'
[root@localhost ~]# echo $mynum
0
[root@localhost ~]# declare -i mynum='123456'
[root@localhost ~]# echo $mynum
123456
设定只读类型变量
[root@localhost ~]# declare -r myread1="aaa"
[root@localhost ~]# myread2=myread
[root@localhost ~]# readonly myread2

查看只读变量
[root@localhost ~]# declare -r | grep myread
declare -r myread1="aaa"
declare -r myread2="myread"
[root@localhost ~]# readonly -p | grep myread
declare -r myread1="aaa"
declare -r myread2="myread"

无法使用unset删除只读变量
[root@localhost ~]# unset myread1 myread2
bash: unset: myread1: 无法反设定: 只读 variable
bash: unset: myread2: 无法反设定: 只读 variable

借助于exit方式删除只读变量
[root@localhost ~]# exit
...... 重新登录后再次查看
[root@localhost ~]# declare -r | grep myread
[root@localhost ~]#

变量移除

语法解析

基本格式
	unset 变量名

示例

查看刚才定制的变量名
[root@localhost ~]#  echo $myname
shuji

移除变量名
[root@localhost ~]# unset myname
[root@localhost ~]#  echo $myname

[root@localhost ~]#

小结



http://www.kler.cn/a/228077.html

相关文章:

  • 如何将 Windows 上的文件传递到 Mac 上
  • SQL教程-基础语法
  • C++二叉树进阶
  • 《Java核心技术 卷II》日期和时间API的时间线
  • Coze,Dify,FastGPT,对比
  • 2025年01月27日Github流行趋势
  • 蓝桥杯第八届省赛题笔记------基于单片机的电子钟程序设计与调试
  • 【华为】GRE VPN 实验配置
  • 彻底学会系列:一、机器学习之线性回归
  • scikit-learn 1.3.X 版本 bug - F1 分数计算错误
  • 【MATLAB源码-第135期】基于matlab的变色龙群优化算法CSA)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • 跟着cherno手搓游戏引擎【20】混合(blend)
  • 全流程机器视觉工程开发(四)PaddleDetection C++工程化应用部署到本地DLL以供软件调用
  • 线性表 —— 数组、栈、队、链表
  • 【SparkML实践7】特征选择器FeatureSelector
  • Redis实现:每个进程每30秒执行一次任务
  • Tomcat组件架构与数据流
  • 04.PostgreSQL多表查询
  • ffmpeg的使用,安装,抽帧,加水印,截图,生成gif,格式转换,抓屏等
  • 简单介绍Spring Security 的认证机制和授权机制
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件
  • Leetcode—38. 外观数列【中等】
  • 微信小程序编译出现 project.config.json 文件内容错误
  • 什么是java程序的主类,应用程序主类和小程序主类有什么不同?
  • 机器学习之指数分布
  • 【已解决】c++ qt选中该行为什么该列部分变色