shell语法

变量类型

常用的变量类型有字符串数字

字符串可以使用单引号,也可以使用双引号,单引号内不可使用变量,双引号内可以使用变量

变量的定义

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容