开发者社区> 陈国林> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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编程2(内含:1.设置环境变量+2.位置参数变量+3.预定义变量+运算符+4.条件判断)
Linux:shell编程2(内含:1.设置环境变量+2.位置参数变量+3.预定义变量+运算符+4.条件判断)
0 0
Linux:shell编程1(内含:1.shell简介+2.shell实操+3.shell的变量介绍+4.shell变量的定义)
Linux:shell编程1(内含:1.shell简介+2.shell实操+3.shell的变量介绍+4.shell变量的定义)
0 0
Python编程:sh模块执行shell命令
Python编程:sh模块执行shell命令
0 0
shell编程之正则表达式(下)
前言 1、通配符回顾 通配符:linux命令中可使用通配符替代或者识别某一些文件名。
0 0
shell编程之正则表达式(上)
前言 1、通配符回顾 通配符:linux命令中可使用通配符替代或者识别某一些文件名。
0 0
shell编程之花式打印九九乘法表
1、使用for循环 九九乘法表:
0 0
Shell编程之数组排序算法(冒泡排序、直接选择排序、反转排序)
1、数组排序(使用tr、sort、for) 操作步骤; 使用tr命令将数组内每个元素之间的空格替换为换行符; 之后使用sort命令按从小到大重新排序; 最后使用for循环遍历排序后的元素值。
0 0
shell编程之数组(下)
1 什么是数组 数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。 组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。 用于区分数组的各个元素的数字编号称为下标。元素的下标从0开始。 数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
0 0
shell编程之数组(上)
1 什么是数组 数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。 组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。 用于区分数组的各个元素的数字编号称为下标。元素的下标从0开始。 数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
0 0
shell编程之函数以及函数中的递归(下)
在编写脚本时,有些脚本可以反复使用,可以调用函数来解决。 语句块定义成函数约等于别名。 函数的作用: 使用函数可以避免代码重复; 使用函数可以将一个大的工程分割为若干小的功能模块,代码的可读性更强。 函数的使用方法: 先定义函数 再引用函数
0 0
+关注
陈国林
曾任职于阿里巴巴,现就职于美图,专业搬砖100年~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Shell 脚本速查手册
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
ECS系统指南之Linux系统诊断
立即下载