- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人人都能学会的SHELL编程.DOC
人人都能学会的SHELL编程
Shell入门简介
说到Shell编程,我想很多从事Linux运维工作的朋友都不陌生,都对Shell有基本的了解,可能大家刚开始接触Shell的时候,有各种想法?
能不能不学?
高大上?
到底是浮云?还是神马?
很难啊?
我想告诉大家的是,大家有这些想法一点都不觉得惊讶,为什么?这些都很正常,对于任何一件事情在未开始之前,肯定会有总总假设,那我今天想说的是,学完人人都会Shell编程后,我们会觉得一切的Shell都是浮云,我们每个人都能很好的使用它,驾驭它,更好的完成我们日常运维的工作。
曾经有人说过,玩Linux不知道Shell,那就是不懂Linux;现在细细品味确实是这样。为了让更多的人能接触Shell、了解Shell,使用Shell,所以今天开设了这样一个网络课程,让我们的Shell飞起来。
好的,其他不多说了,我们正式进入主题,什么是Shell呢?
Shell是操作系统的最外层,Shell可以合并编程语言以控制进程和文件,以及启动和控制其它程序。shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。简单来说Shell就是一个用户跟操作系统之间的一个命令解释器。
Shell是用户与Linux操作系统之间沟通的桥梁。用户可以输入命令执行,又可以利用 Shell脚本编程去运行。
Linux Shell种类非常多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等。不同的Shell语言的语法有所不同,所以不能交换使用。
最常用的shell是Bash,也就是Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用,也是大多数Linux系统默认的Shell。接下来我们来写一个简单的shell脚本。(shell脚本一般文件名以.sh结尾,同时文件第一行定义该脚本为shell脚本)
vi first_shell.sh
#!/bin/bash
#This is my First shell
echo “Hello World !”
这就是我们的第一个脚本,是不是很简单呢,注解如下:
#!/bin/bash //表示定义该脚本是一个shell脚本(固定格式)。
#This is my First shell //这里的#号属于注解,没有任何的意义,SHELL不会解析它。
echo “Hello World !” //shell脚本主命令,我们执行这个脚本讲看到: Hello World ! 信息。
脚本编写完毕,如何来执行呢,首先执行shell脚本需要执行权限,赋予执行权限:
chmod o+x first_shell.sh 然后./first_shell.sh执行即可;也可以直接使用命令执行: /bin/sh first_shell.sh,显示效果一样。
Shell编程之变量详解
Shell编程语言是非类型的解释型语言,不像C++/JAVA语言编程时需要事先声明变量,SHELL给一个变量赋值,实际上就是定义了变量,在Linux支持的所有shell中,都可以用赋值符号(=)为变量赋值。
SHELL变量可分为两类:局部变量和环境变量。局部变量只在创建它们的shell脚本中使用。而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用。有些变量是用户创建的,其他的则是专用shell变量。
例如在脚本里面定义A=123 ,定义这样一个变量,前面变量名,后面是变量的值。
引用变量可以使用$A,把变量放在脚本里面会出现什么样的效果呢?如下:
#!/bin/bash
#Author wugk 2014-06-10
A=123
echo “Printf variables equal is $A”
执行脚本:sh test.sh,结果将会显示:
Printf variables equal is 123
简单的理解变量,相当于定义一个别名-名称,引用的时候加上$符号就可以了。
例如定义变量 name=wuguangke
执行echo $name 将会显示wuguangke
SHELL常见的系统变量解析:
$0 当前程序的名称
$n 当前程序的第n个参数,n=1,2,…9
$* 当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
$? 命令或程序执行完后的状态,一般返回0表示执行成功。
$UID 当前用户的ID
$PWD 当前所在的目录
我们来测试一
您可能关注的文档
最近下载
- 新探索研究生英语(基础级)读写教程课件unit2-2.pptx VIP
- ZZ058 动漫制作赛题 第3套-2024年全国职业院校技能大赛双数年拟设赛项赛题.pdf VIP
- 财务管理(山东财经大学)智慧树知到期末考试答案2024年.docx VIP
- 中国社科院社会学硕士研究生入学考试真题带答案.docx VIP
- 2025年中国铁路北京局招聘(2124人)笔试参考题库附带答案详解.pdf
- 《已知一个数的几分之几是多少,求这个数》课件.pptx VIP
- 建军大业作文课件.pptx VIP
- 医疗护理员课件.pptx VIP
- 环境管理学课件.pptx VIP
- 【原创】 2021八省联考英语读后续写方法探究.docx VIP
文档评论(0)