Linux Bash Shell入门教程

Linux Bash Shell入门教程

ID:38159875

大小:37.43 KB

页数:16页

时间:2019-06-06

Linux Bash Shell入门教程_第1页
Linux Bash Shell入门教程_第2页
Linux Bash Shell入门教程_第3页
Linux Bash Shell入门教程_第4页
Linux Bash Shell入门教程_第5页
资源描述:

《Linux Bash Shell入门教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、BASH的基本语法·最简单的例子——HelloWorld!·关于输入、输出和错误输出·BASH中对变量的规定(与C语言的异同)·BASH中的基本流程控制语法·函数的使用2.1    最简单的例子——HelloWorld!几乎所有的讲解编程的书给读者的第一个例子都是HelloWorld程序,那么我们今天也就从这个例子出发,来逐步了解BASH。用vi编辑器编辑一个hello文件如下:#!/bin/bash #ThisisaverysimpleexampleechoHelloWorld这样最简单的一个BASH程序就编写

2、完了。这里有几个问题需要说明一下:一,第一行的#!是什么意思二,第一行的/bin/bash又是什么意思三,第二行是注释吗 四,echo语句五,如何执行该程序#!是说明hello这个文件的类型的,有点类似于Windows系统下用不同文件后缀来表示不同文件类型的意思(但不相同)。Linux系统根据"#!"及该字串后面的信息确定该文件的类型,关于这一问题同学们回去以后可以通过"manmagic"命令及/usr/share/magic文件来了解这方面的更多内容。在BASH中第一行的"#!"及后面的"/bin/bash"就

3、表明该文件是一个BASH程序,需要由/bin目录下的bash程序来解释执行。BASH这个程序一般是存放在/bin目录下,如果你的Linux系统比较特别,bash也有可能被存放在/sbin、/usr/local/bin、/usr/bin、/usr/sbin或/usr/local/sbin这样的目录下;如果还找不到,你可以用"locatebash""find/-namebash2>/dev/null"或"whereisbash"这三个命令找出bash所在的位置;如果仍然找不到,那你可能需要自己动手安装一个BASH软件

4、包了。第二行的"#Thisisa..."就是BASH程序的注释,在BASH程序中从“#”号(注意:后面紧接着是“!”号的除外)开始到行尾的多有部分均被看作是程序的注释。的三行的echo语句的功能是把echo后面的字符串输出到标准输出中去。由于echo后跟的是"HelloWorld"这个字符串,因此"HelloWorld"这个字串就被显示在控制台终端的屏幕上了。需要注意的是BASH中的绝大多数语句结尾处都没有分号。如何执行该程序呢?有两种方法:一种是显式制定BASH去执行:$bashhello或$shhello(这

5、里sh是指向bash的一个链接,“lrwxrwxrwx1rootroot4Aug2005:41/bin/sh->bash”)或者可以先将hello文件改为可以执行的文件,然后直接运行它,此时由于hello文件第一行的"#!/bin/bash"的作用,系统会自动用/bin/bash程序去解释执行hello文件的:$chmodu+xhello$./hello此处没有直接“$hello”是因为当前目录不是当前用户可执行文件的默认目录,而将当前目录“.”设为默认目录是一个不安全的设置。需要注意的是,BASH程序被执行后,

6、实际上Linux系统是另外开设了一个进程来运行的。2.2    关于输入、输出和错误输出在字符终端环境中,标准输入/标准输出的概念很好理解。输入即指对一个应用程序或命令的输入,无论是从键盘输入还是从别的文件输入;输出即指应用程序或命令产生的一些信息;与Windows系统下不同的是,Linux系统下还有一个标准错误输出的概念,这个概念主要是为程序调试和系统维护目的而设置的,错误输出于标准输出分开可以让一些高级的错误信息不干扰正常的输出信息,从而方便一般用户的使用。在Linux系统中:标准输入(stdin)默认为键盘

7、输入;标准输出(stdout)默认为屏幕输出;标准错误输出(stderr)默认也是输出到屏幕(上面的std表示standard)。在BASH中使用这些概念时一般将标准输出表示为1,将标准错误输出表示为2。下面我们举例来说明如何使用他们,特别是标准输出和标准错误输出。输入、输出及标准错误输出主要用于I/O的重定向,就是说需要改变他们的默认设置。先看这个例子:$ls>ls_result$ls-l>>ls_result上面这两个命令分别将ls命令的结果输出重定向到ls_result文件中和追加到ls_result文件中

8、,而不是输出到屏幕上。">"就是输出(标准输出和标准错误输出)重定向的代表符号,连续两个">"符号,即">>"则表示不清除原来的而追加输出。下面再来看一个稍微复杂的例子:$find/home-namelost*2>err_result这个命令在">"符号之前多了一个"2","2>"表示将标准错误输出重定向。由于/home目录下有些目录由于权限限制不能访问,因此会产生一些标

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。