您的位置:首页 > 运维架构 > Shell

Shell语法——数组与调试

2018-10-11 07:07 337 查看
shell 数组
  1. 数组定义
    方法一:使用小括号江边量子括起来赋值给数组变量

    方法二:动态数组

    方法三:使用键值对的形式赋值(不推荐)
  2. 打印元素个数(常用)
  3. 删除数组
  4. 数组内容的截取

案例一:
打印下面这句话中字母数大于 5 的单词
Tip:The only constant is change

#!/bin/bash
方法一:
arr=(The only constant is change)
for i in ${arr[*]}
do
if [ `expr length $i` -gt 5 ];then
echo $i
fi
done

echo "-----------"

方法二:
for ((i=0;i<${#arr[*]};i++))
do
if [ ${#arr[$i]} -gt 5 ];then
echo ${arr[i]}
fi
done

输出结果:

constant
change
-----------
constant
change
Shell 脚本调试
  1. 对于从其他地方拿来的脚本出现报错,首先使用 dos2unix 来对脚本进行格式化处理,比如:Windows 下编辑脚本中的换行符与 LInux 下的换行符不同
  2. 执行脚本根据报错来调试时,要知道有时所报错误会不准确,应多关联上下文查看
  3. 可通过 sh -x 命令调试整个脚本,且会显示执行过程,sh -n 参数不会执行脚本,仅检测脚本语法是否有问题,并给出相应的错误提示
  4. set -x 和 set +x 命令用于调试部分脚本的执行过程(在脚本中设置),相比与 sh -x 命令缩小了调试范围,不必每次都要调试整个脚本
  5. 可通过 echo 命令输出脚本中要确认的变量级相关内容,然后紧跟着使用 exit 退出,不执行后面的程序,这种方式便于一步步跟踪脚本,对于逻辑错误的调试比较好用,写法如:echo $var;exit
  6. 最关键的还是要语法熟练,养成良好的编码习惯,提高编程思想,从而降低错误率,减轻调试负担,提高开发效率
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 数组 脚本调试