开发者社区> 陈国林> 正文

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 接下来我们利用两种方法来执行,利用第二种的时候要先更改权限

       

        


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
大数据开发基础的Linux系统的基本的Shell编程
在大数据开发中,Linux系统是一个非常重要的操作系统。而Shell编程是Linux系统中最基本的编程方式之一,能够帮助我们更高效地完成各种任务。本文将介绍关于大数据开发基础的Linux系统的基本的Shell编程。
25 0
Linux shell编程(if、for、case、while语句的解释与应用)
Linux shell编程(if、for、case、while语句的解释与应用)
30 0
Linux shell编程基础语法语句(shell变量,shell脚本语句,test测试语句)
Linux shell编程基础语法语句(shell变量,shell脚本语句,test测试语句)
23 0
嵌入式LINUX(C语言编程)家目录与根目录的解析,shell编程格式,常用命令与解释
嵌入式LINUX(C语言编程)家目录与根目录的解析,shell编程格式,常用命令与解释
43 0
Shell 编程三剑客之Sed(二)
Shell 编程三剑客之Sed(二)
20 0
+关注
陈国林
曾任职于阿里巴巴,现就职于美图,专业搬砖100年~
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
ECS运维指南 之 Linux系统诊断
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像