一、shell变量类型

shell变量一般只有两种类型:数值型与字符串型。

运行shell时,会同时存在三种变量:

1) 局部变量

  局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

2) 环境变量

  所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

3) shell变量

  shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

二、shell变量命名规则

变量名的命名须遵循如下规则:

(1)首个字符必须为字母(a-z,A-Z)。

(2)中间不能有空格,可以使用下划线(_)。

(3)不能使用标点符号。

(4)不能使用bash里的关键字(可用help命令查看保留关键字)。

三、shell变量使用

(1)类型

shell变量与JavaScript很相似,可以没有类型声明。也可以使用declare声明类型

如:

declare -r rVariable        #声明一个只读变量与readonly rVariable作用相同
declare -i iVariable        #声明一个整数变量
declare -a arrayVariable    #声明一个数组变量
declare -f functionName     #打印一个函数,不加functionName会打印此脚本前面所定义的函数
declare -x exportVariable   #声明一个导出变量

(2)显式声明

shell变量不需要显式声明,也可以使用。

下面显式声明myFirstVariable变量

myFirstVariable="第一个变量"

(3)使用

使用一个定义过的变量,只要在变量名前面加美元符号即可,变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界

#!/bin/basha="abc"       #显式声明
echo $a       #使用
echo ${a}     #使用

(4)只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

#!/bin/basha="abc"
readonly a    #设置为只读变量
a="bc"        #这句会异常

(5)删除变量

使用 unset 命令可以删除变量。

#!/bin/basha="abc"
unset a     #删除变量
echo $a     #打印出空行

Shell入门(二)之变量相关推荐

  1. java类作用域标识符_java入门 (二) 标识符、数据类型、类型转换、变量、常量、作用域...

    java入门(二) 标识符 数据类型 类型转换 变量.常量.作用域 本次笔记引用B站:狂神说,虽然早就会了,现在回头来敲下基础,加深印象 1.标识符: java所有的组成部分都需要名字.类名丶变量名丶 ...

  2. Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化

    Python入门(二)--IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化 我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说 ...

  3. linux常见命令以及shell入门编程(笔记总结记录)

    linux常见命令以及shell入门编程(笔记总结记录) 文章目录 linux常见命令以及shell入门编程(笔记总结记录) 一.linux常见命令 1.不常用 2.常用 3.数据查找处理相关 1.g ...

  4. shell编程之特殊变量

    一.特殊变量:$n 1.基本语法 $n(功能描述:n为数字,$0代表该脚本名称, $1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}) 2.案例实操 [root@ ...

  5. 【拔刀吧少年】之shell编程规范与变量

    shell编程规范与变量 一.Shell脚本概述 1.shell脚本的概念 2.shell脚本应用场景 3.shell的作用--命令翻译器,"翻译官"(`又称命令的组合`) 二.用 ...

  6. shell脚本由基础变量及特殊变量($@、$*、$#等)到实战。

    shell脚本由基础变量及特殊变量($@.$*.$#等)到实战. 一.shell脚本建立: shell脚本通常是在编辑器(如vi/vim)中编写,也可以在命令行中直接执行: 1.脚本开头:     规 ...

  7. 基础运维:shell入门

    一.系统变量 在命令行提示符直接执行env.set查看系统或环境变量.env显示用户环境变量,set显示Shell预先定义好的变量以及用户变量.可以通过export导出成用户变量. [root@leo ...

  8. shell脚本详解(一)——Shell编程规范与变量

    详解Shell编程规范与变量 一.Shell脚本概述 1.shell脚本的概念 2.shell脚本应用场景 3.shell的作用--命令翻译器,"翻译官" 二.用户的登录shell ...

  9. Linux Shell高级技巧(二)

    七.非直接引用变量: 在Shell中提供了三种为标准(直接)变量赋值的方式:       1. 直接赋值.       2. 存储一个命令的输出.       3. 存储某类型计算的结果.       ...

  10. shell(一)——概述、变量、运算符

    文章目录 shell概述 shell解析器 Linux提供的shell解析器: shell脚本入门 脚本格式 helloworld 脚本的执行 shell中的变量 系统变量 常用系统变量 自定义变量 ...

最新文章

  1. 链表 + 数组模拟链表
  2. android 调用系统相机
  3. 例子 客户端_服务端也是可以主动向客户端推送数据的--WebSocket
  4. 利用shell脚本监控网站状态
  5. [机器学习] XGBoost 自定义损失函数-FocalLoss
  6. mysql中as用法
  7. [NOI2014]动物园
  8. HDOJ 1564 Play a game【博弈论】
  9. Core Graphics Paths
  10. 如何在Visio中旋转图形
  11. linux怎么复制文件和移动文件
  12. PyTorch创建自己的图像分类数据集
  13. 《人月神话》学习笔记
  14. linux系统外接硬盘_linux系统外接存储管理命令
  15. 吴裕雄--天生自然 PYTHON3开发学习:字符串
  16. Vue + TypeScript + Element 搭建简洁时尚的博客网站及踩坑记
  17. 肺管家科普:引发肺气肿的原因竟然是这些...
  18. 弘辽科技:拼多多新手该如何提升直通车权重?
  19. 你的微博也被盗赞?试试HSTS强制HTTPS加密 1
  20. 【原创】flutter之发布插件包到pub.dev离线在线两套大法

热门文章

  1. [Java基础]接口基础
  2. Piggy-Bank POJ - 1384(完全背包+背包放满)
  3. 计算机用英语表示方法有哪些,在计算机领域中,通常用英文单词“bit”来表示( )...
  4. php fpm 调试模式,调试 – nginx php-fpm xdebug netbeans只能启动一个调试会话
  5. 噪声与振动控制工程手册_声学分享客噪声与振动控制篇大型隔振工程案例介绍...
  6. CoreJava 笔记总结-第三章 Java的基本程序设计结构
  7. 第二个一千行总结-数据结构C复习--知识点总结2--五到七章
  8. Java8新特性解析
  9. Educational Codeforces Round 96 E. String Reversa 线段树模拟序列交换
  10. 【IOI2018】狼人【Kruscal重构树】【主席树】