小妖女 发表于 2015-1-18 11:37:10

Linux设计怎样调试bash剧本仓酷云

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
Bash是Linux操纵体系的默许Shell剧本。Shell是用来处置操纵体系和用户交互的一个程序。Shell的剧本能够匡助用户主动化地和操纵体系举行交互。你也能够了解为一种剧本式的编程。即然有编程,那末,程序的编译器,注释器,调试器就必不成少了,Bash也一样,但在调试方面大概会有一些和编程言语纷歧样的工具和手艺,以是,上面这篇文章次要是申明调试bash剧本的各类手艺。
跟踪剧本的实行

你可让bash打印出你剧本实行的过程当中的一切语句。这很复杂,只必要利用bash的-x选项就能够做到,上面让我们来看一下。

上面的这段剧本,先是输入一个问候语句,然后输入以后的工夫:
1.#!/bin/bash2.echo"Hello$USER,"3.echo"Todayis$(date+"%Y-%m-%d")"上面让我们利用-x选项来运转这段剧本:
1.$bash-xexample_script.sh2.+echo"Hellochenhao,"3.Hellochenhao,4.++date+%Y-%m-%d5.+echo"Todayis2009-08-31"6.Todayis2009-08-31这时候,我们能够看到,bash在运转前打印出了每行命令。并且每行后面的+号标明了嵌套。如许的输入可让你看到命令实行的按次并可让你晓得全部剧本的举动。
在跟踪里输入行号
在一个很年夜的剧本中,你会看到良多良多的实行跟踪的输入,浏览起来十分费力,以是,你能够在每行前加上文件的行号,这会十分有效。要做到如许,你只必要设置上面的情况变量:
1.2.exportPS4="+${BASH_SOURCE}:${LINENO}:${FUNCNAME}:"让我们看看设置上了PS4这个情况变量后会是甚么样的输入。
1.$bash-xexample_script.sh2.+example_script.sh:2::echo"Hellochenhao,"3.Hellochenhao,4.++example_script.sh:3::date+%Y-%m-%d5.+example_script.sh:3::echo"Todayis2009-08-31"6.Todayis2009-08-31
调试部分的剧本
有些时分,你其实不想调试全部剧本,你只需调试个中的一部分,那末,你能够在你想要调试的剧本之前,挪用“set-x”,停止的时分挪用“set+x”就能够了。以下面的剧本所示:
1.#!/bin/bash2.echo"Hello$USER,"3.set-x4.echo"Todayis$(date%Y-%m-%d)"5.set+x让我们看看运转起来是啥样?
1.$./example_script.sh2.Hellochenhao,3.++example_script.sh:4::date+%Y-%m-%d4.+example_script.sh:4::echo"Todayis2009-08-31"5.Todayis2009-08-316.+example_script.sh:5::set+x注重:我们在运转剧本的时分,不必要利用bash-x了。

日记输入

跟踪日记偶然候太多了,多得都受不了,并且,输入的内容很难浏览。一样平常来讲,我们良多时分只体贴于前提表达式,变量值,或是函数挪用,或是轮回等。。在这类情形下,log一些感乐趣的特定的信息,大概会更好。
利用log前,我们先写一个函数:
1._log(){2.if["$_DEBUG"=="true"];then3.echo1>&2"$@"4.fi5.}因而,你就能够在你的剧本中以下利用:
1.2._log"Copyingfiles..."3.cpsrc/*dst/我们能够看到,下面谁人_log函数,必要反省一个_DEBUG变量,只要这个变量是真,才会真正开辟输入日记。如许,你就只必要把持这个开关,而不必要删除你的debug信息。1.2.$_DEBUG=true./example_script.sh利用Bash公用调试器

假如你在写一个相称庞大的剧本,而且,你必要一个完全的像调试其余言语一样的调试器,那末你能够试着用用这个开源软件——bashdb,一个Bash的公用调试器。这个调试器很壮大,你想失掉的功效,他都有,好比,设置断点,单步跟踪,跳出函数,等等。它的用户接口很想GDB,这是他的文档。
(全文完)
本文来自:http://coolshell.cn/?p=1379

文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln

不帅 发表于 2015-1-21 11:14:42

在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。

谁可相欹 发表于 2015-1-25 21:58:56

如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。

仓酷云 发表于 2015-2-4 04:54:39

学习Linux应具备的。[书籍+网络资源]

蒙在股里 发表于 2015-2-8 20:10:38

清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。

变相怪杰 发表于 2015-2-14 01:35:19

了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。

小妖女 发表于 2015-2-14 12:51:23

一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。

柔情似水 发表于 2015-2-18 10:50:23

下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。

莫相离 发表于 2015-3-6 04:01:50

Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?

若天明 发表于 2015-3-12 19:34:58

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

兰色精灵 发表于 2015-3-20 01:54:16

为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?

山那边是海 发表于 2015-3-30 15:06:11

工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。

灵魂腐蚀 发表于 2015-4-3 13:12:36

查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。

爱飞 发表于 2015-4-6 13:03:18

可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?

老尸 发表于 2015-4-6 19:12:20

我是学习嵌入式方向的,这学期就选修了这门专业任选课。

深爱那片海 发表于 2015-4-8 19:24:35

即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。

admin 发表于 2015-4-13 08:27:35

掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。

精灵巫婆 发表于 2015-4-26 22:10:41

随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。

小女巫 发表于 2015-5-4 04:20:58

即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。

金色的骷髅 发表于 2015-7-8 09:29:36

查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
页: [1]
查看完整版本: Linux设计怎样调试bash剧本仓酷云