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