首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

更正Bash和shell脚本变量大小写

在Bash和shell脚本中,变量名称是区分大小写的。这意味着在脚本中,名称为"my_variable"和"My_Variable"的变量被视为两个不同的变量。

在Bash和shell脚本中,可以使用大小写字母、数字和下划线来命名变量。变量名称不能以数字开头,也不能包含空格或其他特殊字符。

例如,以下是一个简单的Bash脚本,演示了如何使用变量和区分大小写:

代码语言:txt
复制
#!/bin/bash

my_variable="Hello, World!"
My_Variable="Goodbye, World!"

echo $my_variable
echo $My_Variable

输出:

代码语言:txt
复制
Hello, World!
Goodbye, World!

在上面的脚本中,"my_variable"和"My_Variable"是两个不同的变量,它们分别被赋值为"Hello, World!"和"Goodbye, World!"。因此,当我们使用"echo"命令输出这两个变量时,它们分别输出各自的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SHELL(bash)脚本编程一:变量

本篇开始,介绍shell脚本编程,更确切的说是bash脚本编程(版本:4.2.46(1)-release)。我们从变量开始。...非交互式shell启动时(如脚本中),会继承派生出此shell的父shell的环境变量并执行环境变量BASH_ENV的值中所指代的文件。...$_ 在shell初始启动时表示启动此shell命令的绝对路径或脚本名,随后,表示前一条命令的最后一个参数。 声明/定义及赋值 通常bash变量是不需要提前声明的,可以直接进行赋值。...的情况前述相同,大小写转换将作用于每个参数 由于bash变量赋值的随意性,自定义变量起名时不要和原有变量(尤其是环境变量)相冲突,撤销时也要注意不要将环境变量撤销掉(虽然撤销自定义变量并不是必须的)。...只影响此函数及嵌套调用的函数命令。 5、当前shell中某个命令中的临时变量。只影响此命令。 bash变量作用域涉及到子shell函数的用法,这里暂时不作举例说明,后续文章中会详细叙述。

2.7K40

unix 的 bash shell 脚本

某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:  (1)在下午4 :50删除/abc目录下的全部子目录全部文件;  (2)从早8:00~下午6:00每小时读取/xyz目录下...过滤出当前目录下所有以字母(不区分大小写)开头的文件 ls | grep -P -i "^[a-z]" 13....写脚本实现,可以用shell,perl等。...设计一个shell程序,在2012年12月23日凌晨3点备份并压缩前一天/svn目录的所有内容,存放在/root/bak目录里,且文件名为如下形式svn.2008.05.06.tar.gz,试写脚本。...#/bin/bash for   i   in   {1..100};do huan[$i]=$i done      #先初始化一个数组,其实用变量也行,个人喜好,用awk也行,但一篇内容一个shell

1.5K20
  • Shell脚本——变量

    脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则 在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储...注意,赋值号=的周围不能有空格 Shell 变量的命名规范大部分编程语言都一样: 变量名由数字、字母、下划线组成; 必须以字母或者下划线开头; 不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字...使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变 使用 unset 命令可以删除变量 三、单引号双引号的区别 以单引号' '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量命令...这种方式比较适合定义显示纯字符串的情况,即不希望解析变量、命令等的场景。 以双引号" "包围变量的值时,输出时会先解析里面的变量命令,而不是把双引号中的变量命令原样输出。...这种方式比较适合字符串中附带有变量命令并且想将其解析后再输出的变量定义。

    1.6K20

    SHELL(bash)脚本编程二:语法

    本文开始正式介绍shell脚本的编写方法以及bash的语法。...shell脚本是指包含若干shell命令的文本文件,标准的bash脚本的第一行形如#!/bin/bash,其中顶格写的字符#!...向操作系统申明此文件是一个脚本,紧随其后的/bin/bash是此脚本程序的解释器,解释器可以带一个选项(选项一般是为了对一些情况做特殊处理,比如-x表示开启bash的调试模式)。...语法 相比于其他更正式的语言,bash的语法较为简单。大多数使用bash的人员,一般都先拥有其他语言的语法基础,在接触bash的语法之后,会自然的将原有语法习惯套用到bash中来。...其实,只要系统学习一遍bash语法以及一条命令的执行流程,就可以说掌握了bash脚本编程的绝大多数内容。

    1.3K20

    SHELL(bash)脚本编程八:技巧

    至此,我们介绍了linux系统中常用命令的使用方法,简述了bash程序的使用方法工作流程。在使用bash编写脚本程序时,熟练掌握这些工具的用法,往往能够达到事半功倍的效果。...本文将通过讲述一些实例,试着探讨bash脚本编程的技巧。需要说明的是,这里的技巧是多角度寻求解决方案的思路,是建立在对各种命令bash编程技法深刻理解的基础之上的。...1、笔试题 先来看某公司的两个笔试题: 1、写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中。...new中一行内容就令变量i自增,当i增长到100时,立即结束循环。...2、写脚本实现,可以用shell、perl等。把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数。 问题没什么可分析的,直接的解决方案: #!

    61420

    Shell脚本应用(shell脚本基础与shell变量

    1、shell:命令解释器 1)可支持的shell保存在/etc/shells中 2)默认shell为/bin/bash 2、shell脚本编写: 1)使用vi编辑器 2)每行一条命令,依次执行 3...)赋予可执行权限(x) 3、执行方式: 1)脚本文件路径:有两种,相对绝对路径,必须有x权限 2)Sh脚本文件路径:无须x权限,相对绝对路径都可以,在子shell上 3)Source(或 .)脚本文件路径...:无须x权限,在当前sell执行 4、脚本组成: 1)脚本声明:指定脚本执行的shell,以#!...(区分大小写) 2)查看变量值:echo $变量名 例:echo $A [ 加$显示值,不加$显示名(A)] 3)引号对变量的影响: (1)双引号:引用变量的值 (2)单引号:显示变量名 (3...1)全局:对所有用户有效 /etc/profile 2)用户:只对用户有效 ~/.bash_profile 常见的环境变量: 1)PWD:当前的工作目录 2)PATH:命令搜索的路径 3)USER

    1.7K40

    使用bash编写Linux shell脚本--调试版本控制

    外壳调试的特点 Bash 有几个开关选项对于跟踪调试脚本是非常有用的。“ -n ”开关可以使你不用运行脚本就可以检查脚本语法的正确性。通常在开发期间使用这个开关来检查脚本的语法。...加号表示脚本是如何进行嵌套的。最后四行是 Bash 执行所有的替换扩展之后的脚本段。注意复合命令(例如: if )被省去了(看列表 8.2 )。 列表 8.2 bad.bash #!...当调试陷阱跟踪组合在一起,调试陷阱本身也在执行跟踪时被显示出来。这相当于使用 printf 命令,但是比较简练,它显示之前将变量的值替换掉变量名。...如果这样就需要恢复或尽可能快的无损更正错误。 版本控制系统是一个维护数据文件、脚本源程序的主备份的程序。这个主备份保存在 repository 目录中。...文件归档 shell archive (或 shar )是一个文本文件的集合或将多个脚本压缩为一个单独的文件。在脚本中的数据在这儿表示为文件。

    3K111

    SHELL(bash)脚本编程五:内置命令

    bash的内置命令外部命令的使用方法相同,我们已经介绍了一部分内置命令的用法,本文接着介绍另一些常用内置命令的用法。 1、: 此命令的执行没有任何效果,但在命令执行前会进行参数扩展重定向。...cmd done #或者 until false do cmd done #例如,判断一个变量值是否为空,如果为空则退出脚本: : ${parameter:?.../bin/bash NUM=100 #第一次读取时,由于大括号内部不是合法的序列表达式所以保持原样扩展。 #但单词$NUM会经过变量扩展,结果为 {01..100..5}。...$aa $bb $cc $dd #第二次执行时被替换为各个变量的值 eval echo ${array[*]/#/$} 4、hash bash中执行的外部命令会被缓存在一个哈希表中,直接执行命令hash.../bin/bash #开启shell扩展通配符选项 shopt -s extglob # 扩展通配符能够匹配pattern-list,此列表是以符号|分隔的多个pattern,这些pattern之间是或者的关系

    56920

    SHELL(bash)脚本编程四:其他扩展

    在之前的文章中我们讲述了变量扩展、数学扩展命令替换。本篇接着介绍shell中用到的其他扩展。 历史扩展 默认时,在交互式shell环境下,bash允许对历史命令进行记录扩展。...bash -x test.sh ... 1003 history 环境变量HISTTIMEFORMAT的作用是控制输出记录历史命令的时间格式(date命令的时间格式一致)。...但别名的名称并不像变量名的要求那样严格,别名可以包含除了 /,$,反引号,= ,元字符引用字符之外的任意字符。而别名的替代字符串可以是任何shell输入。...默认时shell脚本中不能使用别名。别名扩展是完全基于文本的,因而别名可以改变shell语法。几乎任何别名的作用,都可以用shell函数来实现。 大括号扩展 大括号扩展是一种生成任意字符串的机制。...bash使用一个称为进程替换的功能来弥补这些不足,进程替换实际上是命令替换管道的组合,命令替换类似,bash运行一个命令,但令其运行于后台而不再等待其完成。

    74130

    SHELL(bash)脚本编程六:执行流程

    bash命令的执行分为四大步骤:输入、解析、扩展执行。 本文将详述bash命令的一般处理过程: 如图所示 ? 输入 交互模式 在交互模式下,输入来自终端。...4、别名 如果非重定向或赋值语句的第一个单词是一个普通单词,bash会根据别名记录判定该单词是不是一个命令别名,如果是,则使用对应的文本替换该别名(注意此文本可以是shell能够接受的任意字符)。...另外,默认时只有在交互式shell环境下才允许别名扩展。如果需要在脚本中使用命令别名,则需开启选项shopt -s expand_aliases。...大括号扩展、单词分割路径扩展不会发生。 执行 不同类型的命令,bash的执行方式有所差异。...命令执行 对于命令的执行,我们介绍更一般的情况(命令位于磁盘文件系统之上的情况): 1、bash执行fork()系统调用创建子进程(如果命令已经处于子shell内,则不会再次fork(),例如上述管道命令

    1.7K40

    SHELL(bash)脚本编程三:重定向

    在这一篇中,我们介绍了一点关于输入输出重定向管道的基础知识,本篇将继续重定向的话题。 在开始前,先说一说shell中的引用。...(历史扩展,下篇叙述)只用在交互式shell中,脚本中无法进行历史记录扩展。...# 如第一篇所述,双引号中位置变量和数组变量使用@*时,含义有所区别: # "$@""${array[@]}"扩展之后每一个元素都是单独的单词 # "$*""${array[*]}"扩展之后是一个整体...由于bash中重定向只在当前命令中有效,命令执行完毕后,重定向被撤销。可以使用内置命令exec使重定向在整个脚本有效。 脚本举例: #!.../test.sh 28653 命令的标准输出标准输入通过双向管道分别连接到当前shell的两个文件描述符, 然后文件描述符又分别赋值给了数组元素NAME[0]NAME[1] root bin daemon

    1.7K30

    Shell脚本的基本语法-Shell变量的定义使用

    Shell脚本是一种基于文本的命令语言,用于自动化执行一系列命令任务。它是LinuxUnix操作系统中的标准脚本语言。Shell脚本具有灵活性可移植性,并可以用于各种系统管理自动化任务。...下面我们将介绍Shell脚本的基本语法变量定义及使用方法。 一、Shell脚本的基本语法 1.文件头:Shell脚本文件的第一行必须指定解释器。例如,#!.../bin/bash表示脚本将使用bash解释器。 2.注释:在Shell脚本中使用“#”符号来注释代码。 3.变量:可以使用变量来存储值,并在脚本的不同部分重复使用。...二、Shell变量的定义使用 在Shell脚本中,可以定义变量来存储数据。变量的命名规则如下: 变量名称必须以字母或下划线开头,不能以数字开头。 变量名称只能包含字母、数字下划线。...变量名称区分大小写。 下面是定义使用Shell变量的示例: #!

    86400

    shell脚本介绍,shell脚本结构执行方式,date命令的用法,shell脚本中的变量简介

    所以shell脚本不仅能够提升运维效率,还可以让我们的工作没有那么苦逼。 20.2 shell脚本结构执行 ?   Shell脚本的第一行必须是:#!/bin/bash,"#!"...是一个约定的标记,后面跟着的/bin/bash是告诉系统这个脚本需要使用/bin/bash解释器来执行,即使用哪一种Shell。例如像python脚本就不一样了:#!...“#”,前者是标记,后者才是注释符。 编写第一个shell脚本: 既然知道shell脚本的基本结构后,我们来编写第一个shell脚本吧: vim Hello.sh 脚本内容如下: ?...第二种执行方法是给这个Hello.sh的脚本文件加上了可执行权限,所以可以当做一个二进制文件直接执行: ? shbash实际上是同一个命令,因为sh是bash的软连接文件: ?   要注意的是,#!...shell脚本中的变量其他编程语言中的变量含义是一样的,都是用来存储一个数据,然后使用变量名就可以进行调用了,shell脚本的语法其他脚本的语法类似,都不需要使用分号作为语句的结束。

    2.5K60

    使用bash编写Linux shell脚本--复合命令

    状态码包含在变量“ $? ”中。...这些相反的码习惯可能会导致错误,这些错误很难调试出来。 Bash 有两个内置命令 true false 。这些是返回的状态码,而不是 let 命令的真值。...尽管在 if 命令内部也可以声明变量,但是它很难确定那个变量存在,那个不存在。 case 命令 case 命令进行模板匹配测试,如果值某个模板匹配,则执行相应的命令。变量逐个进行测试。... elif 命令不同,测试的状态码来自同一个命令, case 测试变量的值。如果测试字符串的值, case 命令比 elif 命令更好。 每一个 case 分支都必须用一对分号(;;)进行分割。...report.bash :报表格式化 report.bash 是一个用来给销售数字建立报表的脚本程序。销售数字文件有产品名称、本国销售数、外国销售数来组成。

    2.3K101

    SHELL(bash)脚本编程七:源码简析

    本文对bash的源码(版本:4.2.46(1)-release)进行简要分析。 数据结构 bash是用C语言写成的,其源码中只使用了少量的数据结构:数组,树,单向链表,双向链表哈希表。...主要流程 以下所涉及文件如无特殊说明均处于bash源码的根目录下。 对于一行bash命令的执行流程分为两大步骤:解析执行(注意上一篇中的解析执行的区别)。...解析 bash的入口函数main()位于文件shell.c中: int main (argc, argv, env) int argc; char **argv, **env; {...(last_command_exit_value); } 函数定义了shell启动运行过程中的一些状态变量,依据不同的参数初始化shellshell_initialize ()初始化了shell变量参数...,如果文件不是目录且有可执行权限,则把它当做脚本执行execute_shell_script()。

    1.8K41

    bash变量参数

    对一个编程脚本来说,最最基础的当然是变量。 对大多数开发者来说,变量也是最不值得的大说特说的。 但 bash 里的变量有一些特别的地方值得说说,谨防跌坑。...VARIABLE= value # 脚本将会尝试运行 "value" 命令,同时设置环境变量 "VARIABLE" 为 ""。 上面 $b $c 的区别?...bash 中有四种类型的变量,它们是环境变量、本地变量、位置变量特殊变量。 环境变量 参看维基百科的环境变量,这里不做赘述。 本地变量 我们上面的那么多的例子其实就是本地变量。...echo "${10}" 特殊变量 变量 含义 $$ 表示当前 Shell 进程的 ID ,即 pid $n 上述位置变量 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数...参考文章 bash shell学习之变量 Shell变量 How to tell if a string is not defined in a bash shell script?

    1.1K30
    领券