shell脚本调试的问题。 如何让一个脚本不执行。而只输出脚本的错误信息。 sh -n test.sh 为什么没有输出信息。 sh -nv test.sh 有输出。但不是错误输出!
这个是shell的源文件: #!/bin/sh -x # # test for umount # # ./mount $(ls /dev/discs/disc0/) # echo -e "\r\n#\r\n# $# \r\n# $* \r\n#" while [ 1 ] do DISK=$(mount | tail -n 1 | grep 'tmp' | awk '{print $3}') if [ -n "$DISK" ];then echo -e "\r\n#\r\n# umount DISK=$DISK \r\n#" umount $DISK [ $? == 0 ] && rm -rf $DISK else break fi done 以下是...
AIX下,按理说在脚本第一行写上[code]#!/bin/ksh -x[/code]就可以输出调试信息了,但我发现如果脚本里调用函数的话(这个函数本身也在这个脚本里),函数里面的调试信息却没打印出来,这是怎么回事?有办法让函数里的调试信息也出来吗?
今天特别郁闷!!调试一个shell脚本,用了半天时间才找出问题所在。一个就几十行的代码,因为中间少了一个分号,报错说:”文件结尾“非期望的 弄了半天才把这个错误搞定,加上其它逻辑小错误(如把||打成了|)就费尽了我的力气。想起这调试都可怕。 其它语言通常都可通过编译器轻松发现这些错误,而这个实在对我太难了。不知道大家有没有什么好的调试方法或者好的编辑工具(如能直观发现一些不匹配情况等)?
监测无论是shell脚本还是c的system();执行的shell命令 history中对这些是没有记录的!.bash_history 中也没有 有什么办法么?像是c的system();做的操作,根本不知道他做了什么! 最好不要弄个 honeynet 这么复杂 ! 有哪位大侠知道么!谢了!
如题,执行命令export PS4='+[$LINENO]'后,再用shell -x *.sh 调试时,并没有每行输出行号,而是在每行开头添加了+[$LINENO],为什么? 如何为每行添加行号?
我在windows下安装了SSH Secure shell Client,远程登录别处的集群计。 在调用高性能库GMP时用如下的命令: g++ -I. mytest.cxx libgmpxx.a libgmp.a ./a.out 在用MPI库进行并行程序调式时用: mpicc -O mytest mytest.cxx mpirun 我就不知道同时调用mpi和gmp库是应该用怎样的调试命令行?请各位大侠指教。 [ 本帖最后由 yupeng_cun 于 2006-3-13 13:00 编辑 ]