首页 / 操作系统 / Linux / Ubuntu Shell学习笔记
在Ubuntu下用sh -x <script-name> 调试一个shell脚本,发现shell不支持下面这种for loopfor (( expr1; expr2; expr3 ))上网搜索了以下,才发现Ubuntu默认的shell不是默认的bash,而是采用了dash,如下所示fly@fly-laptop:~$ which sh/bin/shfly@fly-laptop:~$ ls -l /bin/shlrwxrwxrwx 1 root root 4 2010-07-06 04:50 /bin/sh -> dash如果想将默认的shell改回bash,方法就是在终端执行 sudo dpkg-reconfigure dash,然后选择 no。但是Ubuntu默认设置还是不做修改,改用 /bin/bash -x <script-name> 替代不过有一点比较奇怪,如果直接用 ./<script-name> 运行shell脚本,发现不存在上述的问题,难道这样不是调用dash shell,confused.另外还可以使用bashdb调试shell脚本,如果想用IDE,可以使用尝试ddd --debugger /usr/bin/bashdb <script-name>