shell 变量、字符串、数组

shell变量

  • 变量定义
  • 变量使用

    示例 1:

    #! /bin/bash
    var=aaa
    echo ${var}

    执行结果:

    $ ./demo.sh$ aaa

    示例 2:

    #! /bin/bash
    var=aaa bbb ccc
    echo ${var}

    执行结果:

    $ ./demo.sh./demo.sh: line 3: bbb: command not found

    示例 3:

    #! /bin/bash
    var="aaa bbb ccc"echo ${var}

    执行结果:

    $ ./demo.shaaa bbb ccc
  • 变量删除

    unset <var_name>
  • 变量只读

    readonly <var_name>

    通过 readonly 表明只读变量,对只读变量的修改会报错(不能被删除)。

字符串

  • 单引号

    单引号字符串中的变量是无效的;单引号中不能出现单一的单引号;

  • 双引号

    双引号中可以有变量; 双引号里可以出先转义字符;双引号中的单引号输出时维持单引号不变

    示例 1:

    #! /bin/bash
    var="aaa 
    
    bbb ccc"echo ${var}

    执行结果:

    $ ./demo.shaaa bbb ccc  #变量中的换行被忽略,且只有一个空格

    当字符串当成变量展开时,字符串中的多个空格或换行在展开时会只剩一个(方便for循环时候做处理)。

    示例 2:

    #! /bin/bash
    var="aaa 
    
    bbb ccc"echo "${var}"

    执行结果:

    $ ./demo.shaaa  bbbb ccc

    当字符串当成字符串被展开时,字符串保持原样不变。

  • 获取字符串长度

    string="abcdefg"echo ${#string}
  • 提取字符串
    string="abcdefg"       #0123456echo ${string:1:4}  #输出 bcde
  • 查找字符串
    string="abcdef"
    echo `expr index "$string" ef` #输出5,因为 e 是第五个出现的

shell 数组

  • 数组定义

    array_name=(value0 value1 value2 value3)
    array_name=(
    value0
    value1
    value2
    value3
    )
    array_name[0]=value0
    array_name[1]=value1
    array_name[n]=valuen
  • 读取数组
    ${数组名[下标]}
  • 获取数组的长度
    # 取得数组元素的个数
    length=${#array_name[@]}
    length=${#array_name[*]}
    
    # 取得数组单个元素的长度
    lengthn=${#array_name[n]}

原文地址:https://www.cnblogs.com/rivsidn/p/11026451.html

时间: 2024-10-04 11:17:20

shell 变量、字符串、数组的相关文章

Linux-Shell基础(变量,字符串,数组)

一. 什么是shell shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. shell脚本是一种shell编写的脚本程序 常见的shell种类 Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) S

shell循环字符串数组

#!/bin/bash arr=("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" "e" "e" "f") for value in

Shell变量知识进阶

一.shell中特殊且重要的变量 1.特殊位置变量 在shell中存在着一些特殊且重要的变量,例如:$0.$1.$#,我们可以称之为特殊位置变量.要想从命令行.函数或脚本执行等传递参数时,就需要在Shell脚本中使用位置参数变量. 常用的特殊位置参数变量,如图:举例说明:$0 [[email protected] ~]# cat a.sh echo $0 [[email protected] ~]# sh a.sh a.sh [[email protected] ~]# sh /root/a.s

shell变量、函数、控制流和数组以及字符串的截取

一.变量 1.shell变量名 (1)可以由字母.数字.下划线等字符组成.但是第一个字符必须是字母或者下划线. (2)若果变量中包含下划线(_)则要特别注意,$project_svn_$date.tar.gz 和 {$project_svn}_$date.tar.gz.第一个shell理解为$project是一个变量. 2.变量的赋值: variable=value note:赋值运算符前后不能有空格,否则会报错. 3.变量分类: 内部变量是为了shell编程的而设定的变量. 本地变量是在代码块

shell变量与字符串操作

默认情况下,Bash shell是一种无类型的脚步语言,除非用declare特别声明,否则它不会区分一个变量是整数变量.浮点数变量还是字符串变量.在Bash shell中所有的变量都被看成是字符串,使用时也不需要进行声明. 1.变量的命名 bash shell中变量的命名规则和C语言相同,必须是由英文字母.数字及下划线组成,第一个字符必须是字母或下划线,变量的长度没有限制,但英文字母区分大小写.虽然,bash shell中使用变量时不需要声明,但还是提倡对一些重要的变量进行声明.添加注释,以便阅

Linux Shell之二 变量与数组

一.什么是变量 Shell编程语言是非类型的解释型语言,不像C++/JAVA语言编程时需要事先声明变量,SHELL给一个变量赋值,实际上就是定义了变量,在Linux支持的所有shell中,都可以用赋值符号(=)为变量赋值. SHELL变量可分为两类:局部变量和环境变量.局部变量只在创建它们的shell脚本中使用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量. 例如在脚本里面定义A=123 ,定义这样一个变量,前面变量名,

18 shell脚本--009数组与字符串

回顾: 函数:写一个代码块,用来重复调用的: 1.函数的写法格式 2.参数,在函数名后面直接加,即可:如果在外面 abc(){ 函数体 [email protected] } abc 1 2 3 4 5 :wq a.sh 1 2 3 4 5 6 3.变量 local本地变量 local i=1 如果在函数体外同样也定义了一个相同的变量 扩展:source / bash / chmod+x 全路径 [父子进程的问题] 4.return 结束函数体的执行 和exit 的却别 return 和 exi

如何将字符串分割赋值给多个shell变量

如何将字符串分割赋值给多个shell变量 shell Target Target 比如字符串"111|222|333"分割分别赋值给三个shell变量 $ a='111|222|333' $ OIFS=$IFS; IFS="|"; set -- $a; aa=$1;bb=$2;cc=$3; IFS=$OIFS  $ echo $aa $bb $cc  111 222 333  2017-5-6 Leilei Wang

PHP返回变量或数组的字符串表示:var_export()

使用var_export()函数可以在服务端程序没有在打印的情况下,配合file_put_contents方便的调试程序,查看变量和数组的内容. 在开发过程中,我们常用var_dump()来打印数组内容,但有时候我们不方便通过浏览器查看调试信息,这时候可以将信息输出到文件中查看,var_export()可以打印或返回变量的字符串表示,返回值是一个字符串,形式类似var_dump()打印的字符串,使用var_export()可以将POST.GET和SESSION等数据写入文件,方便查看. 下面是p