Linux shell编程 1 ---- shell脚本编程基础

简介:  1 什么是shell脚本     1 shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序     2 用户可以在文件中存放一系列的命令,通常将shell编写的程序称为shell脚本或者shell程序     3 将命令,变量和流程控制有机递结合起来将会得到一个功能强大的编程工具。


 1 什么是shell脚本

    1 shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序

    2 用户可以在文件中存放一系列的命令,通常将shell编写的程序称为shell脚本或者shell程序

    3 将命令,变量和流程控制有机递结合起来将会得到一个功能强大的编程工具。shell脚本语言非常擅长处理文本类型的的数据,由于Linux系统中的所有的配置文件都是纯文本的,所以shell脚本语言在管理Linux系统中发挥了巨大的作用


 2 shell脚本的成分

    1 shell脚本是以行为单位的,在执行脚本的时候会分解为一行一行依次执行,脚本中所包含的成分主要有:注释,命令,shell变量和结构控制语句

    2 注释:注释部分是用于对脚本进行解释和说明,在注释行的前面加上符号#,这样在执行脚本的时候shell就不会对该行进行解释

    3 命令:在shell脚本中可以出现任何交互式下可以使用的命令

    4 变量:shell支持两种的数据类型字符串变量和整型变量

    5 结构控制语句:用于编写复杂脚本的流程控制语句

 

 3 shell脚本的建立与执行

    1 用户可以使用任何的文本编辑器创建shell脚本文件,比如vi,gedit等等

    2 对shell脚本的执行有两种方法

       1 一种是将文件名作为shell命令的参数,调用格式

           sh 文件名

       2 另外一种是./文件名

          但是当我们执行这份额脚本文件的时候,发现提示我们没有执行权限,所以以第二种方式来执行的时候我们必须改变这个文件的权限,使得它具有执行的权限

    3 当执行一个脚本文件的时候,shell就产生一个子shell(即子进程)去执行命令中的命令,因此文件中的变值不能传递到shell中


 4 shell脚本的编码规范

    1 一个bash脚本的正确的起始部分是应该以#!开头:#!/bin/bash

    2 在调用bash脚本的时候,以#!开头的语句通知系统用何解释器执行脚本

    3 如果默认的shell是bash可以不用写,但是良好的shell编码规范要求我们必须要注明是用什么解释器在执行


 5 shell实例分析

    1 首先ubuntu系统下的默认的shell是dash,ubuntu下的sh只是默认shell的链接,我们可以利用 ls /bin/sh -l 来查看默认的shell

        

    2 我们可以使用以下两种方法来更改默认的shell

       1 sudo dpkg-reconfigure dash, 然后选择 no 或者 否 ,并确认。这样做将重新配置 dash,并使其不作为默认的 shell 工具

       2  也可以直接修改 /bin/sh 链接文件,sudo ln -fs /bin/bash /bin/sh 将其指定到 /bin/bash。    

    3 接下来我们来创建一个shell的脚本,命名为s.sh

       

    4 接下来我们利用两种方法来执行,利用第二种的时候要先更改权限

       

        


目录
相关文章
|
15天前
|
JavaScript 前端开发 Shell
Shell 脚本编程保姆级教程(上)
Shell 脚本编程保姆级教程(上)
|
10天前
|
Shell Linux C语言
|
12天前
|
Shell 网络安全
shell脚本 配饰ssh
【7月更文挑战第15天】
15 4
|
16天前
|
网络协议 Shell Linux
Shell脚本配置Centos静态ip地址
这是一个用于在CentOS上设置静态IP的Shell脚本摘要: - 脚本交互式获取用户输入的IP地址、子网掩码、网关和DNS。 - 使用`sed`命令动态更新`/etc/sysconfig/network-scripts/ifcfg-ENS33`配置文件。 - 修改`BOOTPROTO`为`static`,并设置IP、NETMASK、GATEWAY和DNS1字段。 - 用`systemctl restart network`重启网络服务。 - 提示用户新配置的静态IP信息。
|
21天前
|
Linux 网络安全 开发工具
linux 常用命令【编程必备】
linux 常用命令【编程必备】
31 4
|
22天前
|
小程序 Linux
【编程小实验】利用Linux fork()与文件I/O:父进程与子进程协同实现高效cp命令(前半文件与后半文件并行复制)
这个小程序是在文件IO的基础上去结合父子进程的一个使用,利用父子进程相互独立的特点实现对数据不同的操作
|
22天前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
|
22天前
|
缓存 网络协议 算法
【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)
在Linux环境下,主要存在四种IO模型,它们分别是阻塞IO(Blocking IO)、非阻塞IO(Non-blocking IO)、IO多路复用(I/O Multiplexing)和异步IO(Asynchronous IO)。下面我将逐一介绍这些模型的定义:
|
15天前
|
Shell
Shell 脚本编程保姆级教程(下)
Shell 脚本编程保姆级教程(下)
|
15天前
|
Java Shell Linux
【Linux】手把手教你做一个简易shell(命令行解释器)
【Linux】手把手教你做一个简易shell(命令行解释器)
17 0