欢迎来到天天文库
浏览记录
ID:40004871
大小:320.50 KB
页数:32页
时间:2019-07-17
《[计算机软件及应用]linux下shell编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux下Shell编程简介刘桂海(西安理工大学计算机科学与工程学院,陕西西安710048)内容安排综述篇命令篇变量篇条件测试篇控制结构篇函数篇7/24/2021西安理工大学计算机科学与工程学院综述篇Shell是什么怎样写ShellCygwin简介Linux黑洞7/24/2021西安理工大学计算机科学与工程学院综述篇——Shell是什么壳(Shell)保护其内部的核(Kernel)7/24/2021西安理工大学计算机科学与工程学院综述篇——Shell是什么Shell是一种具备特殊功能的程序,它是介于使用者和UNIX/Linux操作
2、系统之核心程序(kernel)间的一个接口。为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的周围建了一个外壳(shell)。用户向shell提出请求,shell解释并将请求传给内核。使用较广的shell有标准的Bourneshell(sh)、KornShell(ksh)、Cshell(csh)、BourneAgainShell(bash)等。查看当前环境所用shell:echo$SHELLshell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程
3、序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。本质上,shell脚本是命令行命令简单的组合到一个文件里面。Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令,然后调用相应的应用程序。7/24/2021西安理工大学计算机科学与工程学院综述篇——怎样写Shell利用vi编辑器编辑脚本,将脚本命名为脚本功能.shShell脚本不是复杂的程序,它是按行解释的,脚本第一行总是以#!/bin/sh开头,它通知系统以下的S
4、hell程序使用系统上的BourneShell来解释。第二行注释中写入脚本名,第三行注释开始写入脚本功能——习惯。以下行进入脚本正式编写编写完后给脚本添加执行权限:chmodu+xScripName运行脚本:ScripName或./ScripName简单脚本示例:viShowHello.sh以下为脚本内容:#!/bin/sh#ShowHello.sh#Toshowhellotosomebodyecho-n“EnterYourName:”readNAMEecho“Hello,$NAME!”保存,退出vi编辑器。为脚本添加可执行权限:c
5、hmodu+xShowHello.sh运行脚本:ShowHello.sh7/24/2021西安理工大学计算机科学与工程学院综述篇——cygwin简介cygwin——在windows下开发linux程序!cygwin是一个在windows平台上运行的linux模拟环境,是cygnussolutions公司开发的自由软件。它把gcc、gdb、gas等开发工具进行了改进,使它们能够生成并解释win32的目标文件,开发者基于win32api写了一个unix系统库的模拟层,只要把这些工具的源代码和这个共享库(cygwindll)连接到一起,就
6、可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集。软件下载:cygwin的官方网站:www.cygwin.com推荐下载:http://www.macraigor.com/full_gnu.htm软件安装:在安装的过程中可选择默认安装路径:c:cygwin安装完后要修改cygwin目录下的cygwin.bat文件,在@echooff后面加上setCYGWIN=titlentea,这是因为Cygwin的启动批处理文件需要启动Unix文件系统模拟。7/24/2021西安理工大学计算机科学与工程学院综述篇—
7、—Linux黑洞/dev/null是一个虚设的设备,俗称“Linux黑洞”,任何对/dev/null的写入都会成功,但数据会消失得无影无踪,没有任何反馈。所以经常把不想在屏幕显示的信息全部送到/dev/null中,在shell脚本中用得比较多。如:ls–l>/dev/null还可以用来清空文件的内容:cat/dev/null>FileName7/24/2021西安理工大学计算机科学与工程学院命令篇用户管理目录管理文件管理权限管理7/24/2021西安理工大学计算机科学与工程学院命令篇——用户管理新建用户(useradd)userad
8、dUserName新建用户后,会在/home目录下建立一个以UserName命名的文件夹,用户每次登录时自动定位到该文件夹下。为用户添加密码(password)passwdUserName删除用户(userdelete)userdel
此文档下载收益归作者所有