娱乐新地带论坛

娱乐新地带论坛 (https://bbs.1819.net/index.php)
-   『软件使用』 (https://bbs.1819.net/forumdisplay.php?f=11)
-   -   Linux [转]Ubuntu Shell学习笔记 (https://bbs.1819.net/showthread.php?t=73991)

Tony 2011-06-08 11:51 PM

[转]Ubuntu Shell学习笔记
 
在Ubuntu下用sh -x <script-name> 调试一个shell脚本,发现shell不支持下面这种for loop
for (( expr1; expr2; expr3 ))上网搜索了以下,才发现Ubuntu默认的shell不是默认的bash,而是采用了dash,如下所示
fly@fly-laptop:~$ which sh

/bin/sh
fly@fly-laptop:~$ ls -l /bin/sh
lrwxrwxrwx 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>


所有时间均为北京时间。现在的时间是 12:44 AM

©2003-2024 1819.net All rights reserved. © 2024