zoukankan      html  css  js  c++  java
  • Linux 的使用基础---Shell程序设计

      Shell是Linux系统中的一个重要的层次,它是用户与系统交互作用的界面.Shell除了作为命令解释程序以外,还是一种高级程序设计语言。利用Shell程序设计语言可以编写出功能很强、但代码简单的程序。 在linux系统的编程使用过程中,必须熟练掌握这些规则,才能越快越握的把我时间,编写出高效的程序。

    一,shell概述

    1.Shell的特点和主要版本

    2.Shell程序示例(shell程序也可存放在文件上)

    3.Shell过程的建立和执行(称作Shell文件或者Shell脚本(Shell script))

      建立shell 过程的步骤同建立普通文本过程相同,利用编辑器(vi或者gedit)进行程序录入和编辑加工。执行Shell过程的方式主要有以下3种。

      (1)输入定向到Shell过程

      (2)以过程名作为参数

      (3)将Shell过程改为可执行文件

    二,Shell变量{环境变量  和     临时变量(在shell过程中又分为用户定义的变量和位置参数)}

    1.用户定义的变量(一般形式为:变量名=字符串)例如:变量名=字符串

    2.输入/输出命令

    (1)read命令(可以利用read命令由标准输入读取数据,然后赋给指定的变量。其一般格式是  read 变量1[变量2…])

    (2)echo命令(在前面例子中已使用过echo命令,它将其后的参数在标准输出上输出。各参数间以空格隔开,以换行符终止。)

    三,Shell中的特殊字符

    1.通配符(通配符用于模式匹配,如文件名匹配、路径名搜索、字符串查找等。 )

    2.引号

      (1)双引号(由双引号括起来的字符,除$、倒引号和反斜线()仍保留其特殊功能外,其余字符通常作为普通字符对待。)

      (2)单引号(由单引号括起来的字符都作为普通字符出现。 )

    3.输入输出重定向符(执行一个Shell命令时通常会自动打开3个标准文件,这就是:标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准出错输出文                                 件(stderr),这两个文件都对应终端的屏幕。)

      

    (1)输入重定向符(输入重定向符“<”的作用是把命令(或可执行程序)的标准输入重新定向到指定文件)

    (2)输出重定向符(输出重定向符“>”的作用是把命令(或可执行程序)的标准输出重定向到指定文件。这样,该命令的输出就不在屏幕上显示,而是写入指定文件中。)

    4.注释、管道线和后台命令

    (1)注释(以#开头的表示注释)

    (2)管道线(在Linux系统中管道线是由竖杠(|)隔开的若干个命令组成的序列)

        在管道线中,每个命令运行时都有一个独立的进程。前一个命令的输出正是下一个命令的输入。而管道线中有一类命令也称作“过滤器”,过滤器首先读取输入,然后将输入  以某种简单方式进行变换(相当于过滤),再将处理结果输出,例如grep、tail、sort和wc等命令就称为过滤器。

      一个管道线中可以包括多条命令,例如,

          ls | grep m?.c | wc –l

      打印出当前目录文件名是以m打头、后随一个字符的所有C文件的数目。

    (3)后台命令(通常,在主提示符之后输入的命令都立即得到执行。在执行过程中,用户和系统可以发生交互作用—用户输入数据,系统进行处理,并输出运行结果。这种工作方    式就是前台方式。但是有些程序的运行要花费较长时间,如调用C编译对C程序进行编译。如果想在编译的同时做别的事情,那么就输入命令

            $cc m1.c&       即在一条命令的最后输入“&”符号,Shell就在后台启动该程序,并且马上显示主提示符,提醒输入新的命令。)

  • 相关阅读:
    H5版俄罗斯方块(5)---需求演进和产品迭代
    vim 常用 NERDTree 快捷键
    C和C++中include 搜索路径的一般形式以及gcc搜索头文件的路径
    MySQL复制协议
    深入解析MySQL replication协议
    Install CodeBlocks in CentOS 7
    Impala 源码分析-FE
    Elasticsearch 6.x 的分页查询数据
    1、树莓派3B开箱+安装系统
    Python创建ES索引
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/3385320.html
Copyright © 2011-2022 走看看