变量命名规则

  • 开头为字符或下划线,名字中间中能有字母、数字和下划线组成;
  • 变量的长度不超过255个字符;
  • 变量名在有效的范围内必须是唯一的; 如再次定义则会替换上一个变量的值
  • 在Bash中,变量的默认类型都是字符串型;即系统把所有值都当作字符串放到变量中,不论这个“字符串”实际上是整数、浮点数等等

Bash中变量的分类

  • 用户自定义变量:变量自定义的
  • 环境变量:这种变量中主要保存的是和系统操作环境相关的数据。变量可以自定义,但是对系统生效的环境变量名和变量作用是固定的
  • 位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的
  • 预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的

其他语言变量按照存储数据常用分类

  • 字符串型
  • 整型
  • 浮点型
  • 日期型

Shell系列(8)- 变量与变量分类(1)的更多相关文章

  1. Linux Shell系列教程之(三)Shell变量

    本文是Linux Shell系列教程的第(三)篇,更多shell教程请看:Linux Shell系列教程 Shell作为一种高级的脚本类语言,也是支持自定义变量的.今天就为大家介绍下Shell中的变量 ...

  2. Shell系列(10)- bash环境变量(3)

    环境变量与用户自定义变量的区别 环境变量是全局变量,用户自定义变量是局部变量. 用户自定义变量只在当前的 shell 中生效,环境变量在当前 shell 和这个 shell 的所有子 shell 中生 ...

  3. Shell系列(16)- 环境变量配置文件简介及source命令

    变量类型 用户自定义变量(本地变量) 环境变量 预定义变量 位置参数变量 source命令 [root@localhost ~]# source 配置文件 或 [root@localhost ~]# ...

  4. Shell系列(9)- 用户自定义变量(2)

    定义变量 变量名=变量值 例如: x=123 mulu="当前目录下有 $(ls)" 备注: 变量名只能是字母.下划线.数字组成且不能以数字开头 变量等号两侧不能加空格 若变量值中 ...

  5. [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量

    --------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...

  6. shell变量/环境变量和set/env/export用法_转

    转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...

  7. 精通awk系列(14):细说awk中的变量和变量赋值

    回到: Linux系列文章 Shell系列文章 Awk系列文章 awk变量 awk的变量是动态变量,在使用时声明. 所以awk变量有3种状态: 未声明状态:称为untyped类型 引用过但未赋值状态: ...

  8. shell的编程规范和变量

    目录 一.Shell脚本概述 1.shell脚本的概念 2.shell脚本应用场景 3.shell的作用--命令翻译器,"翻译官" 二.用户的登录shell 三.shell脚本的构 ...

  9. 【linux草鞋应用编程系列】_2_ 环境变量和进程控制

    一. 环境变量     应用程序在执行的时候,可能需要获取系统的环境变量,从而执行一些相应的操作.     在linux中有两种方法获取环境变量,分述如下.   1.通过main函数的参数获取环境变量 ...

随机推荐

  1. murmur3 hash(hash算法)

    HashUtil.java package com.example.test.util; import com.google.common.base.Charsets; import com.goog ...

  2. flutter升级2.0

    前言 flutter2.0版本带来了很多变化,特别是加入了空安全,升级后的大片报错,让大家望而却步. 现在距2.0发布已经快半年了,大部分插件也支持了空安全,而我们的项目却因为版本低,用不上新东西,所 ...

  3. C#中的几种锁:用户模式锁、内核模式锁、动态计数、监视锁

    参考网址: https://blog.csdn.net/weixin_43989331/article/details/105356008 C#中的几种锁:用户模式锁.内核模式锁.动态计数.监视锁介绍 ...

  4. 你真的了解JS里的"new"吗?

    我们常常喜欢用new关键字去创建一些对象如new Vue(),但是这个关键字的背后究竟做了什么其实没太多人去关注. 想象我们是苹果公司,要生产30部iPod,规定: 每台iPod都会有自己的ID 每台 ...

  5. Linux 第一个静态库 (两种方法)

    方法1 --------------------------------------------- Linux下 静态库 一般为.a为扩展名 类似  lib***.a   的文件名.利用静态函数库编译 ...

  6. 有限次数的Undo&Redo的C#实现

    为了实现Undo和Redo,必须要在程序中保存起程序的运行状态,从而能够在Undo时跳转到前一个状态和在Redo时跳转到下一个状态.为了实现状态的维护,我采用了两个栈来分别保存Undo操作的状态和Re ...

  7. 关于腾讯云redis 无法外网访问的解决方案

    问题简介: 今天购买了一台腾讯云的redis:如图 可是我没有找到 腾讯云提供的外网地址,我该怎么连接呢?百度了一大堆 全部是 在腾讯云服务器上搭建的Redis实例的解决办法.完全不匹配. 开始解决: ...

  8. java web课程设计(简单商城的前后端双系统,基于maven三模块开发)

    1.系统分析 1.1需求分析 实现一个简单但功能完整的商城项目,从设计到实现,规范化完成该项目,锻炼javaweb项目的编写能力,理解软件工程的软件设计思想 1.2编程技术简介 本次课程主要使用的软件 ...

  9. ThreadLocal, volatile, synchronized, map, epoll, AQS简单总结

    ThreadLocal ThreadLocal主要是为了解决内存泄漏的问题,它是一种弱引用: 引用总共有四种,,我简单列一下: 强引用(Strong Reference):正常引用,根据垃圾回收算法, ...

  10. 多线程编程<三>

    1 /** 2 * 线程的暂停.恢复和停止 3 * @author Administrator 4 * 5 */ 6 public class ThreadControlDemo { 7 public ...