Shell基础学习(二) Shell变量

1、数据类型:

  字符串

  数组

2、变量的命名规范:

只能以a-z或A-Z开头

  中间不能有空格,可以使用_

  不能使用标点符号

  不能使用shell的关键字

3、变量类型:

  环境变量

  局部变量

  shell变量

4、字符串

  字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。

  单引号:

    完全按引号中的内容输出,内部变量无效,转义字符也无效

  双引号:

    可以解析内部变量,可以出现转义字符

  拼接字符

    name=‘liupf‘

    echo "Hello "$name

    echo "Hello ${name}"

  获取字符串长度

    name="liupf"

    echo ${#name}

  截取字符串

    $name=‘liupf‘

    echo ${name:1:3}

  查找子字符串位置

    string=My name is liupf

    echo `expr index "$string"  is`

数组

  1、Shell中用()表示数组,元素用空格隔开。基本形式表示为:

    a、数组名=(值0 值1 值2 ··· 值n)

    b、数组名=(

        值0

        ···

        值n

      )

    c、数组名[0]=值0

    数组名[···]=···值

    数组名[n]=值2

  2、读取数组的值

    ${数组名[下表]}

  3、获取数组的所有值

    ${数组名[@]}

  4、 获取数组的长度

    ${#数组名{@}}

    ${#数组名{*}}

    ${#数组名{n}}

时间: 2024-12-21 04:11:51

Shell基础学习(二) Shell变量的相关文章

Linux学习(二十二)Shell基础(二)变量、环境变量配置文件

一.变量 变量是一个容器,里面能放不同的值. 要点知识: PATH,HOME,PWD,LOGNAME这些都是变量. 例子: [[email protected] ~]# echo a+b a+b [[email protected] ~]# echo $a+$b 3+4 [[email protected] ~]# echo $a3$bc [[email protected] ~]# echo $a3$b 4 [[email protected] ~]# echo $a"3"$b 33

puppet基础学习(二)

puppet基础学习(二) 六.ResourceOrdering(资源定序) 使用变化参数before , require , notify , subscribe catalog是对一个给定的系统的所有资源及关系的编译,在编译catalog时,除非我们指定资源的执行顺序,不然puppet是以其自己的顺序管理,大多数时候puppet指定适当的方式,例如puppet管理用户gigabyte应该存在和文件夹/home/gigabyte/bin应该存在并属于用户gigabyte时,puppet会自动指

shell基础学习系列二:变量

Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 变量定义举例: myUrl="http://see.xidian.edu.cn/cp

Linux Shell基础学习(一)

shell脚本是什么呢?简单来说,它就是许多命令的一个集合:Shell脚本是一个面向过程的编程语言,它是通过解释器来解释运行脚本里的每一条命令: 面向过程的编程语言的元素:变量.数组.流程.函数 下面就来学习一下Shell脚本吧! 一.变量      变量:可以理解它为一个命名的内存空间,里面的数据是可变的 1.变量命名法则: (1).只能使用数字.字母或下划线,而且不能以数字开头 (2).不能使用系统中的关键字:比如if,elif,fi,then,for...等 (3).见名知义 2.变量类型

Shell基础学习小结

0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本身的限制和效率问题,以下情况一般不推荐Shell: 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等). 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN 来处理). 有跨平台(操作系统)移植需求(一般使用C 或Java)

Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用

一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境       2> 练习命令历史.命令别名       3> 重定向标准输入/输出/错误输出       4> 管道操作实践 步骤: 步骤一:切换用户的Shell环境 若需要临时使用另一种Shell环境,可以直接执行对应的Shell解释器程序,比如只要执行ksh可以切换到ksh命令行环境. [[email protected] ~]# yum -y in

shell基础(二)

七.shell变量 env命令,查看系统环境变量 set命令,不仅可以查看系统变量,还可以查看自定义变量 自定义变量 变量名规则变量名可以是字母.数字和下划线,首位不能是数字变量值有特殊符号的时候需要用单引号(脱义)括起来 表示式复杂的时候需要用双引号引起来,变量的累加 获取变量的值并插入到字符当中第一个写法不能获取变量的值第二个用大括号将变量名括起来可以获取到 全局变量 当打开多个终端时,使用命令echo $SSH_TTY,可以查看当前所在的终端 在终端1自定义一个变量,终端2是无法查看 ba

day eleven 正则表达式以及shell基础学习

正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则: 二 grep 参数 -n :显示行号 -o :只显示匹配的内容 -q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容 -l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc -A :如果匹配成功,则将匹配行及其后n行一起打印出来 -B :如果

shell基本应用(二)shell变量的使用

自定义变量:有系统用户自己定义的变量,只有用户自己的shell环境中才有效,也称为本地变量,在shell脚本编程时,通常会设置一些特定的自定义变量,以适应程序执行过程中的各种变化,满足不同的需求. 定义一个新的变量: 定义变量的格式"变量名=变量值"切记等号两边没有空格,变量名称需要首字母或者下划线开头,名称中不要包含特殊字符(如+.-.*./...?.%.&.#等)例:定义一个名为 test的变量(值为managerweb)和一个名为installer(值为publishwe