shell中数组的下标默认是从0开始的
1. 将字符串存放在数组中,获取其长度
#!/bin/bash
str="a b --n d"
array=($str)
length=${#array[@]}
echo $length
for ((i=0; i<$length; i++))
do
echo ${array[$i]}
done
along@along-laptop:~/code/shell/shell/mycat/testfile$ ./test.sh
4
a
b
--n
d
打印字符串:
[root@mc2 tmp]# cat test.sh
#!/bin/bash
str="a b c"
for i in $str
do
echo $i
done
[root@mc2 tmp]# cat array.sh
#!/bin/bash
str="a b c"
array=($str)
for ((i=0;i<${#array[@]};i++))
do
echo ${array[$i]}
done
结果:
a
b
c
2. 字符串用其他字符分隔时
#!/bin/bash
str2="a#b#c"
a=($(echo $str2 | tr '#' ' ' | tr -s ' '))
length=${#a[@]}
for ((i=0; i<$length; i++))
do
echo ${a[$i]}
done
#echo ${a[2]}
along@along-laptop:~/code/shell/shell/mycat/testfile$ ./test.sh
a
b
c
3. 数组的其他操作
#!/bin/bash
str="a b --n dd"
array=($str)
length=${#array[@]}
#直接输出的是数组的第一个元素
echo $array
#用下标的方式访问数组元素
echo ${array[1]}
#输出这个数组
echo ${array[@]}
#输出数组中下标为3的元素的长度
echo ${#array[3]}
#输出数组中下标为1到3的元素
echo ${array[@]:1:3}
#输出数组中下标大于2的元素
echo ${array[@]:2}
#输出数组中下标小于2的元素
echo ${array[@]::2}
along@along-laptop:~/code/shell/shell/mycat/testfile$ ./test.sh
a
b
a b --n dd
2
b --n dd
--n dd
a b
4. 遍历访问一个字符串(默认是以空格分开的,当字符串是由其他字符分隔时可以参考 2)
#!/bin/bash
str="a --m"
for i in $str
do
echo $i
done
along@along-laptop:~/code/shell/shell/mycat/testfile$ ./para_test.sh
a
--m
5. 如何用echo输出一个 字符串str="-n". 由于-n是echo的一个参数,所以一般的方法echo "$str"是无法输出的.
解决方法可以有:
echo x$str | sed 's/^x//'
echo -ne "$str\n"
echo -e "$str\n\c"
printf "%s\n" $str (这样也可以) |
相关推荐
PostgreSQL数据库备份脚本,结合系统计划任务可以实现数据库的自动化备份。密码直接设置于脚本当中。
自己写的db2备份shell脚本
shell数组循环 测试shell数组,循环的例子: arr=(a b c) echo 所有的内容如下:${arr[@]} echo 数组的长度:${#arr[*]} for var in ${arr[@]} do echo 打印的内容:$var done 输出的内容如下: 以上...
基于xtrabackup的MySQL数据库备份及还原Shell脚本
在linux下方便的备份mysql数据库的脚本。
基于Xtrabackup的MySQL数据库备份Shell脚本
shell可配置脚本备份国产达梦数据库,完全可配置,使用方便。
数据库备份脚本 进入编辑任务界面:crontab -e 配置定时任务:30 1 * * * /opt/mongobk.sh 每天一点30分备份数据库 基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 *...
Linux下mysql数据库备份以及恢复shell脚本
shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...
run.sh 步骤:请把脚本和达梦数据库iso包移动到 /opt下!接下来 source run.sh
使用shell 脚本对数据库进行数据库数据备份,加入定时任务可进行定时备份。
mysql数据库定期自动备份的shell脚本。如定期每三天自动备份数据库,并只保存20份备份文件,多余的删除。
linux服务器上,自己做所有数据库备份脚本方法,先打包在保存
Oracle 数据库 常用巡检脚本
自己写的几个简单的shell脚本,可用来定时清理数据库的归档文件,并且对数据库定时进行备份操作。
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
MySQL备份的自动执行脚本,以及MySQL的计划任务,里面的内容都是自己写的,如有用到,记得改一下脚本里的内容,逻辑及格式正确,自己改一下参数就能用。
这是一份完整的简单的MYSQL数据库备份脚本。 1、支持指定备份文件夹。 2、支持动态文件名:库名+时间戳
index是主文件,会调用mysql_back.sh,只执行index即可,测试机是在170远程备份158的数据库到170上的文件夹里,该脚本未做目录是否存在的校检,使用前还需要建立 ~/workspace/目录