logo资料库

linux下shell编程.pdf

第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
资料共32页,剩余部分请下载后查看
Linux下下Shell Linux Shell编程简介 编程简介
内容安排 内容安排 综述篇综述篇 命令篇命令篇 变量篇变量篇 条件测试篇 条件测试篇 控制结构篇 控制结构篇 函数篇函数篇 2011-8-22 西安理工大学计算机科学与工程学院
综述篇综述篇综述篇综述篇综述篇综述篇综述篇综述篇 Shell是什么是什么 �� Shell �� 怎样写怎样写Shell Shell Cygwin简介简介 �� Cygwin Linux黑洞黑洞 �� Linux 2011-8-22 西安理工大学计算机科学与工程学院
综述篇综述篇综述篇综述篇综述篇综述篇综述篇综述篇————————————————Shell Shell Shell Shell Shell是什么是什么是什么是什么是什么是什么是什么是什么 Shell Shell Shell �� 壳壳((Shell Shell))保护其内部的核 保护其内部的核((Kernel Kernel) ) 2011-8-22 西安理工大学计算机科学与工程学院
综述篇综述篇综述篇综述篇综述篇综述篇综述篇综述篇————————————————Shell Shell Shell Shell Shell是什么是什么是什么是什么是什么是什么是什么是什么 Shell Shell Shell �� Shell �� 本质上, �� 使用较广的 shell 有标准的 Bourne  shell shell  ((shsh))、、Korn Korn Shell(ksh Shell(ksh ))、、 Shell(bash ))等等。。 shell))。用户向 。用户向 shell kernel )间的一个接口。 )间的一个接口。 shell   ((cshcsh))、、Bourne Again 是一种具备特殊功能的程序, 它是介于使用者和 它是介于使用者和 UNIX/Linux UNIX/Linux Shell是一种具备特殊功能的程序, 操作系统之核心程序( kernel 操作系统之核心程序( 为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成 �� 为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成 shell提出请求, 提出请求, 损害,在内核的周围建了一个外壳 损害,在内核的周围建了一个外壳 ((shell 解释并将请求传给内核。 shell解释并将请求传给内核。 shell 使用较广的 shell CC  shell 查看当前环境所用 shell �� 查看当前环境所用 shell的另一个重要特性是它自身就是一个解释型的程序设计语言, 的另一个重要特性是它自身就是一个解释型的程序设计语言, �� shell shell程序设计语言支持绝大多数在高级语言中能见到的程序元素, 程序设计语言支持绝大多数在高级语言中能见到的程序元素, shell 如函数、变量、数组和程序控制结构。 shell shell编程语言简单易学,任 编程语言简单易学,任 如函数、变量、数组和程序控制结构。 何在提示符中能键入的命令都能放到一个可执行的 shell 何在提示符中能键入的命令都能放到一个可执行的 本质上, shell Shell基本上是一个命令解释器,类似于 Shell 收用户命令,然后调用相应的应用程序。 收用户命令,然后调用相应的应用程序。 有标准的 Bourne Bourne Again Shell(bash shell::echo $SHELL echo $SHELL 基本上是一个命令解释器,类似于 DOSDOS下的下的command.com shell  脚本是命令行命令简单的组合到一个文件里面。 脚本是命令行命令简单的组合到一个文件里面。 command.com 。它接。它接 shell 程序中程序中。。 2011-8-22 西安理工大学计算机科学与工程学院
综述篇综述篇综述篇综述篇综述篇综述篇综述篇综述篇————————————————怎样写怎样写怎样写怎样写怎样写怎样写怎样写怎样写Shell Shell Shell Shell Shell Shell Shell Shell �� 利用利用vivi编辑器编辑脚本,将脚本命名为 编辑器编辑脚本,将脚本命名为 �� Shell 程序使用系统上的 Bourne Shell Bourne Shell 脚本功能 ..shsh 脚本功能 Shell脚本不是复杂的程序,它是按行 脚本不是复杂的程序,它是按行 解释的,脚本第一行总是以  解释的,脚本第一行总是以  #!/bin/ shsh 开头,它通知系统以下的 开头,它通知系统以下的 #!/bin/ Shell Shell程序使用系统上的 来解释。 来解释。 第二行注释中写入脚本名,第三行注释 �� 第二行注释中写入脚本名,第三行注释 开始写入脚本功能 ————习惯。习惯。 开始写入脚本功能 以下行进入脚本正式编写 �� 以下行进入脚本正式编写 编写完后给脚本添加执行权限: �� 编写完后给脚本添加执行权限: chmod �� 运行脚本: 或或 ././ScripName ScripName chmod u+xu+x ScripName ScripName 运行脚本: ScripName ScripName 简单脚本示例: 简单脚本示例: vi vi ShowHello.sh ShowHello.sh 以下为脚本内容 : 以下为脚本内容 #!/bin/sh #ShowHello.sh #To show hello to somebody echo -n“Enter Your Name: ” read NAME echo “Hello,$NAME !” 保存,退出 vivi编辑器。 编辑器。 保存,退出 为脚本添加可执行权限: 为脚本添加可执行权限: chmod u+xu+x ShowHello.sh ShowHello.sh chmod 运行脚本: ShowHello.sh ShowHello.sh 运行脚本: 2011-8-22 西安理工大学计算机科学与工程学院
综述篇综述篇综述篇综述篇综述篇综述篇综述篇综述篇————————————————cygwin cygwin cygwin cygwin cygwin简介简介简介简介简介简介简介简介 cygwin cygwin cygwin linux程序程序!! cygwin是一个在 平台上运行的linux 模拟环境,是cygnus cygnus 公司开发的自由软件。它。它把把gccgcc、、gdbgdb、、gasgas等开发工具进行了改进,使 等开发工具进行了改进,使 win32 apiapi写了一个 unix系统系统 cygwin dlldll ) )连接到一起, 连接到一起, windows平台上运行的工具集 ,只要把这些工具的源代码和这个共享库((cygwin unix主机上的交叉编译器来生成可以在 主机上的交叉编译器来生成可以在windows 的目标文件,开发者基于基于win32 linux模拟环境,是 写了一个unix 平台上运行的工具集 。。 软件下载:cygwin win32的目标文件,开发者 windows下开发下开发linux windowss平台上运行的 cygwin————在在windows ��cygwin cygwin 是一个在window solutions公司开发的自由软件 solutions 它们能够生成并解释win32 它们能够生成并解释 库的模拟层 ,只要把这些工具的源代码和这个共享库 库的模拟层 就可以使用 就可以使用unix 软件下载: 推荐下载:  软件安装:在安装的过程中可选择默认安装路径:  软件安装: 安装完后要修改 @echo off @echo off 后面加上 启动批处理 启动批处理 文件需要启动 的官方网站::www.cygwin.com www.cygwin.com 安装完后要修改cygwin Unix文件系统模拟。 文件系统模拟。 推荐下载:http:// cygwin的官方网站 文件需要启动Unix www.macraigor.com/full_gnu.htm http://www.macraigor.com/full_gnu.htm 在安装的过程中可选择默认安装路径:c:\cygwin c:\cygwin cygwin目录下的 目录下的cygwin.bat cygwin.bat文件文件,,在在 后面加上set CYGWIN=title set CYGWIN=title ntea ntea,这是因为 ,这是因为Cygwin Cygwin的的 2011-8-22 西安理工大学计算机科学与工程学院
综述篇综述篇综述篇综述篇综述篇综述篇综述篇综述篇————————————————Linux Linux Linux Linux Linux黑洞黑洞黑洞黑洞黑洞黑洞黑洞黑洞 Linux Linux Linux /dev/null �� /dev/null 是一个虚设的设备,俗称 是一个虚设的设备,俗称 ““Linux Linux黑洞黑洞””,,任何对任何对 //devdev//null null 的写入都会成功,但数据会消 的写入都会成功,但数据会消 失得无影无踪,没有任何反馈。 失得无影无踪,没有任何反馈。 所以经常把不想在屏幕显示的 所以经常把不想在屏幕显示的 信息全部送到 //devdev//null null中,中, 信息全部送到 shell 脚本中用得比较多。 在在shell 脚本中用得比较多。    如:如:lsls ––l l > > /dev/null /dev/null 还可以用来清空文件的内容: �� 还可以用来清空文件的内容: cat cat /dev/null /dev/null >> FileName FileName 2011-8-22 西安理工大学计算机科学与工程学院
分享到:
收藏