Shell - 简明Shell入门15 - 调试(Debug)
示例脚本及注释
#!/bin/bash -x
for filename in t1 t2 t3
do
touch $filename.txt
echo "Create new file: $filename.txt"
done
for rmfile in *.txt; do rm $rmfile; echo "Delete $rmfile!"; done;
# set -x
for filelist in `ls /root`
do
echo "filename : "$filelist
done
# set +x
# ### 常用Shell脚本调试选项
# -v (verbose)详细模式,将所有执行过的脚本命令打印到标准输出;
# -n (noexec 或 no ecxecution)语法检查模式,读取脚本并检查语法错误,但不执行;
# -x (xtrace 或 execution trace)跟踪模式,可以识别语法错误和逻辑错误,显示所有执行的命令、参数和结果;
#
#
# ### 执行调试的方法
# 1.在命令行提供参数,调试整个脚本,例如“$bash -x script.sh”;
# 2.脚本开头提供参数,调试整个脚本,例如“#!/bin/bash -x”;
# 3.在脚本中用set命令对特定部分进行调试,例如“set -x”启用调试和“set +x”禁用调试;
#
#
# ### set命令
# - 使用内置命令set可以调试Shell脚本的指定部分;
# - 启用调试:“set -<选项>”;
# - 禁用调试:“set +<选项>”;
#
# -x xtrace 调试模式
# -v verbose verbose模式
# -n noexec 检查语法
# -e errexit 如果命令运行失败,脚本退出执行;
# -u nounset 如果存在未声明的变量,脚本退出执行;
Shell - 简明Shell入门15 - 调试(Debug)的更多相关文章
- Shell - 简明Shell入门
本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...
- Shell - 简明Shell入门01 - 第一个脚本(HelloShell)
示例脚本及注释 #!/bin/bash echo "hello shell!" # 打印字符串"hello shell!" echo "Date: & ...
- Shell - 简明Shell编程
本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10. ...
- Shell - 简明Shell入门14 - 操作符(Operator)
示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表 ...
- Shell - 简明Shell入门13 - 用户输入(UserInput)
示例脚本及注释 1 - arguments #!/bin/bash if [ -n "$1" ];then # 验证参数是否传入 echo "The first para ...
- Shell - 简明Shell入门12 - 定制输出(ColorOutput)
示例脚本及注释 #!/bin/bash echo -e "\033[32m" # 设置输出属性,绿色字体 echo "This is a test!" echo ...
- Shell - 简明Shell入门11 - 调用脚本(CallTheScript)
示例脚本及注释 主脚本: CallTheScript.sh #!/bin/bash . ./11-subscript.sh # 调用其他脚本;注意点号"."和文件路径之间有一空格; ...
- Shell - 简明Shell入门09 - 重定向(Redirection)
示例脚本及注释 #!/bin/bash pwd > 1.log # 输出重定向到指定文件 date 1> 1.log # ">"与"1>" ...
- Shell - 简明Shell入门08 - 函数(Function)
示例脚本及注释 #!/bin/bash function Check() # 使用function定义函数 { Say # 通过函数名直接调用函数 if test $1 then return 0 # ...
随机推荐
- JVM系列1:Java内存区域
JVM系列主要分享自己都虚拟机的理解,我自学时的知识框架多来源于<深入理解Java虚拟机_JVM高级特性与最佳实践>这本书,感兴趣的朋友可直接去阅读这本书. 本系列暂定有3部分,它们是学习 ...
- 微商城项目 请求接口封装中出现 callback && callback() 原理
http://www.imooc.com/wenda/detail/522579 因为逻辑运算符&& ||通常具有短路求值的特性即,如果只求部分值就可以得到整个表达式的值,那么剩下的部 ...
- linux上部署Appach,让文件目录以网页列表形式访问
效果: 1.首先,需要安装Apache httpd服务 yum install -y httpd 2.查看或者设置httpd主配文件 vim /etc/httpd/conf/htpd.conf 从中可 ...
- djjango models表关系
*** detail表级联 student表,detail获取student的学生信息,自己做为扩展 一对一关系 models.OneToOneField student = models.OneTo ...
- CentOS 性能监测命令
1.实时监测命令(watch) -d 高亮显示变化 -n 间隔多久(s) 执行后面的command #每隔1秒显示空间使用情况并列出当前目录下的列表信息 EX:watch -d -n 1 'df -h ...
- C/S和B/S架构
1.C/S架构(Client/Server结构,熟知的客户机和服务器结构),它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统 ...
- 287. Find the Duplicate Number 找出数组中的重复数字
[抄题]: Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive ...
- Solidity合约间的调用 -Solidity通过合约转ERC20代币
Solidity通过合约转ERC20代币 ERC20代币并不能像Ether一样使用sendTo.transfer(amt)来转账,ERC20代币只能通过token中定义的transfer方法来转账 ...
- 深入理解 requestAnimationFrame
在Web应用中,实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中 ...
- Fefora 14 源
默认的源不能用,需要用下边的源路径. [fedora] name=Fedora $releasever - $basearch failovermethod=priority #baseurl=htt ...