变量类型
常用的变量类型有字符串
和数字
字符串可以使用单引号,也可以使用双引号,单引号内不可使用变量,双引号内可以使用变量
变量的定义
var1="test"
var2='test'
注意
:值得注意的时等号的两边不能有空格
只读变量
# 使用readonly对变量进行修饰即可实现只读变量
var1="test"
readonly var1
var1="test2"
对只读变量进行修改会报错
image.png
获取字符串长度
var1="test2"
var1len=${#var1}
echo ${var1len}
${#var}即可获取字符串var的长度
截取字符串
var1="test2"
# 从下标为1的字符开始截取,截取两个
# 下标从0开始数
var1len=${var1:1:2}
echo ${var1len}
字符首次出现的位置
# 获取sp在var中首次出现的位置
expr index ${var} ${sp}
变量的使用
${var1}
``和$()
``和$()的内部通常放一个shell脚本,相当于方法调用
file=`ls /`
echo ${file}
file=$(ls /home)
echo ${file}
for循环
for file in $(ls /);
do
echo "fileName:${file}"
done
注意:do之前需要添加分号
read
# read 从输入中读取一行,并把这一行的数据赋值给变量
echo "依次输入3个数据 例如 1 + 2,每输入一个需要换行一次"
read x
read yun
read y
echo "${x} ${yun} ${y} = $(expr ${x} ${yun} ${y})"
echo
# 将数据输出到控制台
echo "abc \n"
echo -e "abc \n"
echo -e "abc \c"
echo "abc \c"
# 使用-e参数可以开启转义 \n:添加一个换行 \c:去掉一个换行
# 输出结果
abc \n
abc
abc abc \c
>
此命令会将文件中的内容进行覆盖
echo "test 将输出结果输出到文件中,而不是控制台" > aa.txt
image.png
>>
向文件中追加内容,而不是进行覆盖
echo "test 将输出结果输出到文件中,而不是控制台" > aa.txt
将该指令执行两边之后得到的结果:
image.png