设为首页 加入收藏

TOP

Shell脚本编程基础(一)
2017-04-07 10:26:12 】 浏览:357
Tags:Shell 脚本 编程 基础

什么是Shell


   操作系统最外层的程序,shell通过提示符让用户输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来,管理用户与操作系统之间的交互。


    Shell是一个用户跟操作系统之间的一个命令解释器。Shell是用户与Linux操作系统之间沟通的桥梁。用户可以输入命令执行,又可以利用 Shell脚本编程去运行。


为什么要用到shell


shell是一个交互式程序,当用户输入一条命令,shell就解释一条,一次只处理一条命令。如果我们一些复杂操作,逐个敲命令工作量就会增大,因此,我们可以事先写一个脚本,在脚本中写入多条命令,让shell一次性把这些命令全都执行完毕,而不必一条一条的敲


常见的shell种类


    /bin/sh,/bin/csh,/bin/ksh,/bin/bash等,bash是大多数linux默认的shell程序,因此,在日常工作中被广泛使用


编程基础:


    程序:指定+数据


        指令:由程序文件提供


        数据:IO设备、文件、管道、变量等


    程序编程风格:


        过程式:以指令为中心,数据服务于指令


        对象式:以数据为中心,指令服务于数据


    编程语言:


        强类型:必须实现声明定义的变量及变量类型。如 javapython


        弱类型:无需事先声明变量,默认均为字符串类型,可直接调用变量。如 shell


    程序运行方式:


        编译运行:源代码 --> 编译器编译 --> 可执行的二进制文件


        解释运行:源代码 --> 运行时启动解释器,边解释边运行


    如何编写shell脚本:


        脚本文件的第一行,顶格:给出shebang,解释器路径,用于指明解释执行当前脚本的解释器程序文件


            常见的解释器:


                #!/bin/bash


                #!/usr/bin/perl


                #!/usr/bin/python


        编写第一个shell脚本:


        一个好的shell脚本会标明、作者、日期、版本、作用,这是一个良好的习惯,不然我们代码写到百行的时候,过几个月或几年,回过头来看,又能知道自己写的是什么脚本呢


    如何运行shell脚本:


        (1)赋予脚本文件执行权限,并直接运行脚本


            chmod +x SCRIPT_FILE


            ./PATH/TO/SCRIPT_FILE


        (2)直接运行解释器,将脚本以命令参数传递给解释器程序


            bash /PATH/TO/SCRIPT_FILE


    变量:指向内存的命令空间


        变量名+指向的内存空间


        变量赋值:VAR_NAME=value


        变量类型:存储格式、表示数据范围、参与的运算


            字符型


            数值:整型、浮点型(shell不支持浮点型)


         变量替换:把变量名出现的位置替换为指定的内存空间中的数据


        变量引用:${var_name},$var_name


        变量名命名规则:


            1.不能与系统中定义过的变量同名,不能与bash中的关键字同名,如 if case等等


            2.只能包含数字、下划线、字母


            3.要做到见名只义


       bash变量类型:


            本地变量:仅对当前shell进程生效


            环境变量:对当前shell以及子shell生效


            局部变量:仅对shell进程中某一代码片段生效


            位置变量:脚本执行时传递给脚本的参数


            特殊变量:shell内置的有特殊功用的变量


           


            本地变量:


                变量赋值:name='value'


                变量引用:${name},$name


                    "":变量名会被替换为其值


                    '':变量名不会替换为值,当做字符串来处理


                查看变量:set


                撤销变量:un

首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java 内存模型简单理解 下一篇理解垃圾回收算法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目