建设游戏运营网站开展工作,做网站不能有中文字符,网页版游戏在线玩2022,营销咨询报告字符串变量
格式介绍#xff1a;单引号 varabc 双引号 varabc 不使用引号 varabc 区别#xff1a;单引号#xff0c;原样输出#xff0c;不会解析里面的变量 双引号#xff0c;会解析变量#xff0c;并且可以使用子双引号#xff0c;需要转…字符串变量
格式介绍单引号 varabc 双引号 varabc 不使用引号 varabc 区别单引号原样输出不会解析里面的变量 双引号会解析变量并且可以使用子双引号需要转义字符 \ 不使用引号会解析变量但不能含有空格空格后的字符串会作为命令去执行 获取字符串长度 ${#var_name} 拼接
无符号拼接 var3${var1}${var2}
双引号拼接 var3${var1} ${var2}
混合拼接 var3${var1}${var2} 字符串截取
${变量名:start:length} 从字符串的左边第 start 个字符开始 向右截取 length 个字符。 从0开始数 ${变量名:start}从字符串的左边第 start 个字符开始截取直到最后。${变量名:0-start:length} 从字符串的右边第 start 个字符开始 向右截取 length 个字符。 从1开始数 ${变量名:0-start}从字符串的右边第 start 个字符开始截取直到最后。${变量名#*chars}从字符串第一次出现 *chars 的位置开始 截取 *chars 右边的所有字符。${变量名##*chars}从字符串最后一次出现 *chars 的位置开始 截取 *chars 右边的所有字符。 ${变量名%chars*}从字符串最后第一次出现 chars* 的位置开始 截取 chars* 左边的所有字符。${变量名%%chars*}从字符串第一次出现 chars* 的位置开始 截取 chars* 左边的所有字符 数组
定义shell数组
array_name( item1 item2 ...)
array_name( [索引1]item1 [索引2]item2 ... ) 获取shell数组数据
${ array_name[索引] } 获取某元素
${ array_name[*] } 获取数组全部元素
${ array_name[] } 获取数组全部元素 数组拼接
array_name( ${ array_name1[*] } ${ array_name2[*] } ... )
数组删除
unset array_name[索引] 删除数组某元素
unset array_name 删除数组 shell内置命令
shell内部提供的命令可直接使用
内置命令 与 外部脚本文件 执行区别 内置文件执行速度快内置命令执行是当前shell环境的一部分 在当前进程内执行无需上下文切换 外部脚本文件执行速度慢需要磁盘IO操作并且开启一个新的进程运行脚本文件 导致进程之间上下文的切换 alias内置命令 设置别名 给命令设置别名
定义 alias 别名命令
删除指定别名 unalias 别名
删除当前shell环境中所有别名 unalias -a
以上两种都是临时删除永久删除需要去配置文件手动删除 echo内置命令 在终端输出字符串默认加上换行符
echo 字符串 默认输出换行
echo -n 字符串 -n输出不换行
echo -e 字符串中含有转义字符 -e解析转义字符
如 echo -e hello \nworld \n换行符
echo -e hello world\c \c清除echo结尾的换行 read内置命令 用于读取标准输入终端控制台用户输入的数据
#read 给多个变量赋值
#!/bin/bash
# 使用read命令读取数据 -p 提示信息 将数据赋值给多个变量
read -p 请输入姓名年龄爱好 name age hobby
# 打印每一个变量的值
echo 姓名${name}
echo 年龄${age}
echo 爱好${hobby}#read 读取一个字符
#!/bin/bash
# 使用read命令读取数据 -p 提示信息 -n 1 设置读取一个字符
read -n 1 -p 您确定要删除吗请输入y/n char
# 打印输出这个字符
printf \n # 输出换行 也可以使用echo代替
echo 您输入的字符${char}#read 限制时间输入
#!/bin/bash
# 使用read命令读取数据 提示信息-p 设置限制时间20秒内-t 20 静默状态看不见密码-sp
read -t 20 -sp 请输入密码20秒内 pwd1
# 输出一个换行
echo
# 使用read命令读取数据 提示信息-p 设置限制时间20秒内-t 20 静默状态看不见密码-sp
read -t 20 -sp 请再次输入密码20秒内 pwd2
# 输出一个换行
printf \n
# 校验两次密码是否一致
if [ $pwd1 $pwd2 ]
then
echo 密码一致通过
else
echo 密码不一致失败
fiexit内置命令 退出当前Shell进程结束运行返回一个退出状态码 使用$?可以接收这个状态码
1、结束当前shell进程
2、可以返回不同的状态码用于处理不同的业务 declare内置命令
1、设置变量的属性
declare [/-][aArxif][变量名称设置值] /- -可用来指定变量的属性则是取消变量所设的属性。 a 设置为普通索引数组 A 设置为key-value关联数组 r 将变量设置为只读, 也可以使用readonly x 设置变量成为环境变量也可以使用export i 设置为整型变量。 f 设置为一个函数变量 2、查看全部shell变量与函数
declare
declare -f 查询所有函数的定义
declare -F 查询所有函数的名称列表
3、实现关联数组变量
#!/bin/bash #创建索引数组 echo 创建索引数组 declare -a array1( 100 abc itheima ) #获取索引数组数据 echo 获取array1数组第3个元素${array1[2]} echo 打印array1数组所有元素${array1[*]}
echo
#创建关联数组 echo 创建关联数组 declare -A array2( [one]100 [two]abc [itcast]itheima ) #获取索引数组数据 echo 获取array2数组keyitcast元素${array2[itcast]} echo 打印array2数组所有元素${array2[]}