linux系统中的shell初级脚本解析

本文介绍了Linux shell的基础概念,包括shell的作用、类型及其选择,以及入门编写规范。深入探讨了变量的概念、定义与使用,以及shell脚本的不同编写方式。进阶部分涵盖了变量的重要性和操作,适合进一步提升shell技能。
摘要由CSDN通过智能技术生成

一、Shell基础

关于shell1、什么是shell什么是shell?Shell(外壳)是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。

Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。什么是脚本?脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑)。常见的脚本:JavaScript(JS,前端),VBScript,ASP,JSP,PHP(后端),SQL(数据库操作语言),Perl,Shell,python,Ruby,JavaFX,Lua等。为什么要学习和使用shell?Shell属于内置的脚本程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)语法简单,代码写起来比较轻松,简单易学常见的shell种类?在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash(重点),流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。cshCshell使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。

目前使用的并不多,已经被/bin/tcsh所取代。kshKornshell的语法与Bourneshell相同,同时具备了Cshell的易用特点。许多安装脚本都使用ksh,ksh有42条内部命令,与bash相比有一定的限制性。tcshtcsh是csh的增强版,与Cshell完全兼容。

sh是一个快捷方式,已经被/bin/bash所取代。nologin指用户不能登录zsh目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。bash大多数Linux系统默认使用的shell,bashshell是Bourneshell的一个免费版本,它是最早的Unixshell,bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。

2、shell入门编写规范:

代码规范:#!/bin/bash

指定告知系统当前这个脚本要使用的shell解释器]Shell相关指令文件命名规范:文件名.sh.sh是linux下bashshell的默认后缀使用流程:①创建.sh文件touch/vim②编写shell代码③执行shell脚本脚本必须得有执行权限案例1:创建test.sh,实现第一个shell脚本程序,输出helloworld.

输出命令:#echo

案例1:echo 'hello world'

注意:输出的内容如果包含字母和符号(不包含变量),则需要用引号包括起来。如果是纯数字可以包也可以不包。注意,这里在运行时一定要写成./test.sh,而不是test.sh,运行其它二进制的程序也一样,直接写test.sh,Linux系统会去PATH(环境变量)里寻找有没有叫test.sh的,而只有/bin,/sbin,/usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用./test.sh告诉系统说,就在当前目录找。还有一点是在退出编辑时按esc后输入:wq,在linux系统中调用时可能会出现权限不足的提示,使用chmod空格+x空格和所需要调用的文件名即可需附带后缀.sh

案例2:使用root用户帐号创建并执行test2.sh,实现创建一个shelltest用户,并在其家目录中新建文件try.html。

输入:/bin/bash

useradd shelltest

输入:touch/home/shelltest/try.html

脚本执行的另外一个方式:/bin/bash脚本的路径(了解)Shell脚本分为简单的写法(简单命令的堆积)和复杂写法(程序的设计)

二、shell进阶

1.1、变量的含义

a.什么是量量就是数据.

b.什么是变量数据可以发生改变就是变量.在一个脚本周期内,其值可以发生改变的量就是变量.

c.什么叫做一个脚本周期一个脚本周期我们可以简单的理解为当前的shell文件变量是shell中不可或缺的一部分,也是最基础、最重要的组成部分。

1.2、变量的定义与使用

变量,先定义后使用。定义形如:class_name="yunwe"

使用形如:echo$class_name

变量就是由2部分组成,一个是变量名(左边),另外一部分是变量的值(右边)变量名和变量值是什么关系??变量名和变量值是使用和被使用关系;我们的变量名来使用变量值;在使用变量的时候一定需要在变量名前面添加一个$符号,该要求在其他语言中也存在的(例如php)。变量名的规范注意,变量名后面的等号左右不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线“_”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值