搜索
简帛阁>技术文章>shell变量赋值以及使用

shell变量赋值以及使用

1、变量赋值

定义变量时,变量名不加美元符号,如

name_str="lili"

特别注意:变量名和等号之间不能有空格

其他注意事项与其他语言相通

 

2、使用变量

使用一个定义过的变量,只有在变量名前面加美元符号$即可

name_str="lili"

echo $name_str

echo ${name_str}

注:变量名外面的花括号是可选的,可加可不加,花括号是为了帮助解释器识别变量边界,所以加上比较保险

 

已被定义的变量也可重新被定义

num=1

echo $num

num=2

echo $num

 

3、位置参数

${n}:输入的第n个参数 ($0表示脚本名字)

$#:输入参数的数量

$@:输入的所有参数

$!:输入的最后一个参数

$?:上一个命令的返回值(用于在脚本中判断之前命令的执行状态,任何非0 的返回都非正常执行)

 

4、数组

数组元素用空格分隔开

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

array_name=(value0 value1 value2)

读取数组

$(数组名[下标])

 

5、只读变量

使用readonly命令可以将变量定义为只读变量,只读变量的名不能被改变

declare -r N=10

readonly N=10

使用演示:

Count=1
readonly Count
Count=2
-bash: Count:只读变量

6、删除变量

变量删除后不能再使用,unset命令不能删除只读变量

shopt -s -o nounset 设置先申明再使用

uset 释放变量和函数内存

num=222
unset num
echo $num
没有任何输出

7、函数中的变量

若不声明local,则函数中的变量也为全局变量

若声明local(local var=100),则变量的作用域只在函数内

 

8、字符串

单引号

str='abcdefg'

单引号里的任何字符都会以原样输出,单引号中的变量是无效的

双引号 (双引号里可以有变量,也可以出现转译字符)

[root@localhost ~]# your_name='123'
[root@localhost ~]# str="hello\"$your_name\"! \n"
[root@localhost ~]# echo -e $str
hello"123"!

9、获取字符串长度

str="abcd"

echo ${#str}

输出4

 

10、提取字符串

str="abcd"

echo ${str:1}

输出bcd

原本的find命令:find/apps/Devops/jenkins/workspace/swapping/target/name'*swapping*jar'错误的命令:SOURCE_PATH/ap
Shell支持自定义变量。定义变量定义变量时,变量名不加美元符号($),如:代码如下:variableNamevalue注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,
变量的意义我们在使用Linux命令或脚本的时候,会有一些输出,那么这些输出的信息可以用变量临时存储,以备我们下一条命令或脚本使用变量的定义变量的定义建议用一个有意义的英文单词来代表变量,不要使用简单
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:首个字符必须为字母(az,AZ)中间不能有空格,可以使用下划线(_)不能使用标点符号不能使用bash里的关键字(可用help命令
变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字字母下划线详见官方手册代码如下:[root@svnshell_example]yourname'Linux'[root@svnshell_e
单个变量赋值:Python中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量使用前都必须赋值变量赋值以后该变量才会被创建。等号用来给变量赋值。等号运
!/bin/bashsetexZipName`lslt/data/services/*zip|head1|awkF/'{print$NF}'`date`date+%Y%m%d`filedate`lsl
1使用变量your_name"qinjx"echo$your_nameecho${your_name}2只读变量myUrl"https://wwwgooglecom"readonlymyUrlmyU
方法1:【通用方法】使用Tab键上面的反引号例子如下:find命令模糊查询在/apps/swapping目录下查找文件名中包含swapping并且以jar结尾的文件使用反引号引住命令,然后使用变量接收
声明:此处需求是修改封装的clickhouseUtil数据查询引擎连接工具类。由于此类中的方法都是静态方法。连接地址等参数需要根据不同环境改变。例如开发下地址,测试下地址,生产地址等,所有通过配置文件