美文网首页
Shell编程 - 变量查遗补漏

Shell编程 - 变量查遗补漏

作者: BlueSkyBlue | 来源:发表于2018-08-13 08:31 被阅读6次

定义变量

使用一个定义过的变量只需要在变量前加上美元符号即可。变量外也可以加花括号,这个是可选的,但有些情况加上花括号是为了帮助解释器识别变量的边界。例如:

your_name="Huifeng"
echo $your_name
echo ${your_name}
echo "I am good at ${skill}scripts."

建议给所有的变量加上花括号。
注意在第二次赋值的时候不能使用$,只有在使用变量的时候才能加上美元符号$。例如

your_name="Huifeng"
your_name="Ankang"
echo $your_name

可以使用readonly命令将指定的变量变为只读变量。
删除变量可以使用unset命令,例如:

unset your_name

Shell字符串

Shell字符串可以使用单引号也可以使用双引号也可以不使用引号。

str='this is a string'

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号中的字符串变量是无效的。
  • 单引号字符串中不能出现一个单独的引号(对单引号使用转义符也不行),但可以成对出现在字符串拼接的时候使用。

双引号的优点:

  • 双引号中可以有变量。
  • 双引号中可以出现转义字符。

拼接字符串:

surname="Ronaldo"
firstname="Cristiano"
echo $firstname $surname

获取字符串的长度

string="abc"
echo ${#string}

提取子字符串

string="B+tree is MySql index data structure"
echo ${string:11:16}

查找子字符串
查找字符io的位置。

string="runoob is a great site"
echo `expr index "$string" io`

Shell数组

Shell支持一维数组,不支持多维数组,并且没有限定数组的大小。数组下标从0开始编号。获取数组中的元素要利用下标,下标可以是整数或算数表达式,其值应该大于等于0。

定义数组

在Shell中,用括号表示数组,数组元素用空格元素分隔开,定义数组的一般格式为:

数组名=(值1 值2 ... 值n)

还可以单独定义数组的各个分量

array=(value1 value2 value3)
array[0]=value4
array[2]=value5

读取数组
读取数组的一般格式为

${数组名[下标]}

可以使用@符号读取数组中的所有元素。

echo ${array[@]}

获取数组的长度:
获取数组长度的方法和获取字符串长度的方法一样

length=${#array[@]}
length=${#array[*]}
#获取数组中单个元素的长度
length=${#array[n]}

参数说明:

参数处理 说明
$# 传递到脚本的参数的个数。
$* 以一个单字符串显示所有向脚本传递的参数。
$$ 脚本运行的当前进程ID号。
$! 后台运行的最后一个进程的ID号。
$@ 与$*相同但使用的时候加引号并且在引号中返回每个参数。
$- 显示Shell使用的当前选项。
$? 显示最后命令的退出状态。0表示没有错误,其它的任何值表示有错误。

$$@的区别:
只有在使用双引号的时候才会体现出来。假设脚本运行时写了三个参数1,2,3,则*等价于"1 2 3"传递了一个参数,而@等价于传递了"1", "2", "3"三个参数。

相关文章

  • Shell编程 - 变量查遗补漏

    定义变量 使用一个定义过的变量只需要在变量前加上美元符号即可。变量外也可以加花括号,这个是可选的,但有些情况加上花...

  • shell基础在工作中的应用

    shell编程基础:1. shell变量:环境变量、特殊变量、用户自定义变量2. shell输入输出3 shell...

  • 变量的查缺补漏

    显示声明和隐式声明 用 var 声明的变量是显示声明,只在当前作用域有效,例如: 直接赋值给一个变量则是隐式声明,...

  • Shell编程系列(三)-- 运算符

    前言 在上一篇文章Shell编程系列(二)-- Bash 变量中, 我们学习了Shell编程中的变量相关的知识。...

  • Shell 编程的变量

    Shell 编程中,变量一般分为三种: 自定义变量: 仅在当前 Shell 实例中有效,其他 Shell 启动的程...

  • Shell编程--变量

    Shell与其他语言的对比 1. php和java主要实现功能 (Shell,所见即所得。直接能看见结果,编译过程...

  • shell脚本基础

    编写脚本 编程基础 shell脚本 创建shell脚本 变量 运算 测试 配置用户的环境

  • Bash shell

    Shell脚本编程30分钟入门 1. $开头shell变量的含义: $1, $2, $3, ... are the...

  • 2020-05-25 bash脚本编程 一 变量、变量类型等

    一 变量、变量类型等 shell编程 编译器,解释器 编程语言:机器语言(0/1)、汇编语言、高级语言: 静态...

  • linux-bash变量

    shell编程shell主要用来简化管理操作bash变量1.什么是变量变量是计算机内存的单元,其中存放的值可以改变...

网友评论

      本文标题:Shell编程 - 变量查遗补漏

      本文链接:https://www.haomeiwen.com/subject/xbcybftx.html