首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

sh -x 调试脚本的有关问题

2012-08-03 
sh -x 调试脚本的问题test脚本如下:function hi{echo in funciton $0 $1}echo start...hi good但用sh

sh -x 调试脚本的问题
test脚本如下:
function hi
{
  echo "in funciton $0 $1"
}

echo "start..."
hi good

但用sh -x test调试和运行./test和很大差异,不知为什么。

$ sh -x test bad
+ function hi
test: 1: function: not found
+ echo in funciton test bad
in funciton test bad
+ echo start...
start...
+ hi good
test: 1: hi: not found

========================

$ ./test bad
start...
in funciton ./test good

我的问题是为什么会出现几乎完全不同的显示呢?
1 首先输出居然就完全不一样,前者是in funciton test bad,后者是in funciton ./test good,一个是bad,一个是good。
2 输出顺序不一样,前者先输出in funciton test bad,再输出start...,后者先输出start...,在输出in funciton ./test good。
3 前者输出中有test: 1: function: not found之类的东东,而后者没有

我想sh -x test bad和./test bad应该是一样的啊,如果不一样那么调试还有什么作用呢?

[解决办法]
$ bash -x test.sh bad
脚本开头使用
#! /bin/sh
试试与$ sh -x test bad结果是否一样

热点排行