zoukankan      html  css  js  c++  java
  • Linux基础学习(10)--Shell基础

    第十章——Shell基础

    一.Shell概述

        1.Shell是什么:

                 (1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

                 (2)Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

        2.Shell的分类:

                 (1)BourneShell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。

                 (2)C Shell:C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名。

                 (3)Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。

                 (4)Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。

        3.Linux支持的Shell:

                  /etc/shells

    二. Shell脚本的执行方式

        1.echo输出命令:

                 

        2.第一个脚本:

        3.脚本执行:

    三.Bash的基本功能

        1.历史命令与命令补全:

                   (1)历史命令:

     

                      (2)历史命令的调用:

                      (3)命令与文件补全:

        2.命令别名与常用快捷键:

                     (1)命令别名:

     

                     (2)命令执行顺序:

                    (3)让别名永久生效:

                    (4)删除别名:

                   (5)Bash常用快捷键:

        3.输入输出重定向:

                    (1)标准输入输出:

                  (2)输出重定向:

                 (3)输入重定向:

        4.多命令顺序执行与管道符:

                  (1)多命令顺序执行:

                   (2)管道符:

        5.通配符与其他特殊符号:

                  (1)通配符:

                 (2)Bash中其他特殊符号:

    四.Bash的变量

        1.用户自定义变量

                (1)什么是变量:变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。

                (2)变量设置规则:变量名称可以由字母、数字和下划线组成,但是不能以数字开头。如果变量名是“2name”则是错误的。

                                                  在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必修指定变量类型为数值型。
                                                  变量用等号连接值,等号左右两侧不能有空格。
                                                  变量的值如果有空格,需要使用单引号或双引号包括。
                                                  在变量的值中,可以使用“”转义符。
                                                  如果需要增加变量的值,那么可以进行变量值的叠加。不过变量需要用双引号包含“$变量名”或用${变量名}包含。
                                                  如果是把命令的结果作为变量值赋予变量,则需要使用反引号或$()包含命令。
                                                  环境变量名建议大写,便于区分。

                (3)变量分类:用户自定义变量。

                                           环境变量:这种变量中主要保存的是和系统操作环境相关的数据。
                                           位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
                                           预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。

                (4)本地变量:

        2.环境变量

               (1)环境变量是什么:用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。

               (2)设置环境变量:

             (3)系统常见环境变量:

        3.位置参数变量

        4.预定义变量

                    (1)预定义变量:

                    (2)接收键盘输入:

    五.Bash的运算符

        1.数值运算与运算符:

                  (1)declare声明变量类型:

                 (2)数值运算—方法1:

                 (3)方法2:expr或let数值运算工具

                  (4)方法3:“$((运算式))”或“$[运算式]”

                (5)运算符:

     

        2.变量测试与内容替换:

    六.环境变量配置文件

        1.环境变量配置文件简介:

                     (1)source命令:

                     (2)环境变量配置文件简介:

        2.环境变量配置文件作用:

        3.其他配置文件和登录信息:

                  (1)注销时生效的环境变量配置文件:

                  (2)其他配置文件:

                  (3)Shell登录信息:

  • 相关阅读:
    Hibernate延迟加载
    java.io.FileNotFoundException: antlr-2.7.7.jar (系统找不到指定的路径。)[待解决]
    Eclipse中复制项目重命名后重新发布,项目名在地址栏仍然是原来的项目名”的问题
    Tomcat服务器启动失败:Could not publish server configuration for Tomcat v8.0 Server at localhost. Multiple Contexts have a path of
    SSH整合:Unable to instantiate Action, employeeAction, defined for 'emp-list' in namespace '/'employeeAction
    ApplicationContext详解以及多个ApplicationContext.xml的相互引用
    Tomcat启动失败:Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds
    三大框架你理解多少?
    通过命令行查询可用的包的版本号
    使用create-react-app命令创建一个项目, 运行npm run eject报错
  • 原文地址:https://www.cnblogs.com/lyq-biu/p/9617899.html
Copyright © 2011-2022 走看看