Shell学习笔记

一、Declare命令

1. 命令格式

declare [+/-] [选项] 变量名

其中:

-: 给变量设定类型属性

+:取消变量的类型属性

2. 参数说明

-i:将变量声明为整型

-a:将变量声明为数组类型

-x:将变量声明为环境变量

-r:将变量声明为只读变量

-p:显示指定变量被声明的类型

3. 示例

1)-i示例: 声明整型变量,由于shell默认变量的类型是字符串类型,如果需要进行数值的运算,则需要将变量转化为整型

#!/bin/bash

a=1
b=2

sum=$a+$b
echo "默认字符串类型相加结果:"
echo $sum

declare -i sum=$a+$b
echo "声明为整型相加结果:"
echo $sum

#输出结果:
默认字符串类型相加结果:
1+2
声明为整型相加结果:
3

2)-a示例:声明数组

#!/bin/bash

# 声明数组
declare -a arr #可以不写,shell可以通过检测中括号识别数组
arr[0]="a"
arr[1]="b"
arr[2]="c"

# 默认打印数组第一个元素
echo ${arr}

# 打印第二个元素 
echo ${arr[1]}

# 打印所有的元素
echo ${arr[*]}

#输出结果:
a
b
a b c

3)-x示例:声明全局变量

-x的功能和export 变量名功能相同,export只是declare -x 变量名的快捷方式

#!/bin/bash

name="test"
declare -x name # 等同效果 export name

echo $name

#输出结果:
test

4) -r示例:声明只读变量

-r会将变量变为只读,变为只读后,将不能进行修改,删除,也不能取消只读,只能重启才能取消。

#!/bin/bash

name="test"
declare -r name
echo $name

name="abc"
echo $name

#输出结果:
test
test.sh: line 7: name: readonly variable
test

5)-p示例:显示指定变量被声明的类型

#!/bin/bash

declare -i a
declare -p a

declare -a b
declare -p b

declare -x c
declare -p c

declare -r d
declare -p d

#输出结果:
declare -i a=""
declare -a b='()'
declare -x c=""
declare -r d=""

二、数值运算的方法

1. expr方法

示例:

#!/bin/bash

a=1
b=2
sum=$(expr $a + $b) # 加号两边一定要留空格,不然会当成字符串连接起来  
echo $sum

#输出结果:
3

2. $(()) 或 $[]方法

#!/bin/bash

a=1
b=2
sum=$(($a+$b)) # 加号两边加不加空格,无所谓
echo $sum

result=$[$a-$b]
echo $result

#运行结果:
3
-1
原文地址:https://www.cnblogs.com/refine1017/p/4993262.html