shell脚本调试
编写sell脚本通常应从小脚本开始,逐步过渡到中等长度的程序,不断积累经验,以便编写大型程序。为此,通常采用自底向上的方法,即先搞清楚要脚本做什么,然后将过程的连续阶段分解为独立的步骤,最后利用shell提示符,交互式地检查和调试每个独立的步骤。
shell脚本编写完后,可能无法工作,除了脚本文件缺少“执行”权限,其原因有两种可能:执行脚本的环境设置不对,或脚本本身有错误。
解决环境设置问题
环境设置不对是指运行脚本的环境不是为这种脚本设置的,所以脚本无法运行,通常包括以下3种情况。
①不能直接在其他shell下运行bash脚本,如当前启动的是C shell就无法直接执行bash脚本,解决的办法是,在脚本的第一行写上"#!/bin/bash",以使系统在Bourne Againshell下运行脚本。
②在PATH环境变量中没有包括"."(当前工作目录)。注意,PATH可以识别不带后继字符的”:”或相邻的"::“它们都作为为“.”的同义词。解决办法是,设置PATH,即“PATH=$PATH:.”。
③脚本文件与已存在命令的名字相同。在为脚本命名之前应检查,系统是否已经使用该名字。