zoukankan      html  css  js  c++  java
  • linux学习-----shell基础

    shell基础

    1.什么是shell

    shell是一个C语言开发的程序 他是用户使用linux的桥梁

    既是一个命令语言

    一种应用程序 这个应用程序提供了一个界面 用户通过这个界面访问操作系统内核的服务

    又是一种程序设计语言

    2.什么是脚本

    脚本就是一条条的文字命令 这些命令是可以看得到的

    常见脚本 JS   PHP JSP   SQL    PHTHON PERL    SHELL  RUBY  JAVAFX

    3.shell的优点:

    linux内置的脚本

    程序开发效率高(批处理)

    语法简单易学

    4.常见的shell种类

    linux中默认的shell是    /bin/bash(重点)

    ksh   tcsh(csh增强版) zsh(linux中最庞大的一种shell 用起来复杂)

    5.shell入门

    编写规范

            1.代码规范:

               #!/bin/bash          指定告知系统当前脚本要使用的shell解析器

               Shell相关指令

             2.文件的命名规范:

               文件名.sh

    使用流程:

             1.创建一个shell文件

             2.编写shell代码

                 输出命令:echo

                 注意 输出的内容包含字母和符号 则需要用引号包起来

             3.执行shell脚本            脚本必须要有执行权限

                运行的时候一定要写成./test.sh   告诉系统在当前目录下查找

    shell分为简单的写法(简单命令的堆积)和复杂的写法(程序的设计)

    shell进阶

    1.变量

              在一个脚本周期内 值可以发生变化的量就是变量

              使用变量的时候 要在变量名前面加上$符号

    2.变量名规范:

              1.等号左右不能有空格

              2.变量名中间不能用空格 可以使用“_”

              3.不能使用标点符号

              4.不能使用bash中关键字

    3.只读变量

             readonly 变量名

             变量定义好之后 只能被读 不能被修改

    4.接受用户输入

             语法:  read -p 提示信息 变量名

    5.删除变量

             语法:unset 变量名

             当为指令设置变量的时候 对于指令要用反引号括起来

    2.条件判断

    语法一:

    if condition

    then

         command1

    fi

    单行写法:   if[condition]; then command; fi

    语法二

    if condition

    then

           command1

    else

           command2

    fi

    语法三

    if condition

    then

           command1

    elif condition

    then

           command2

    else

           command

    fi

    3.运算符

             1.算数运算符

    原生的bash不支持简单的数学运算 但是可以通过其他命令来实现 如expr

     

    实例:

     

               2.关系运算符:

     

            3.逻辑运算符

     

                 4.字符串运算符

     

              5.文件测试运算符(重点)

    用于检测unix/linux文件的各种属性

     

    4.shell脚本的附带选项

    问题  在linux shell中如何处理tail -10 access.log这样的命令选项

    步骤:

    1.调用tail指令

    2.系统把后续的选项传递给tail

    3.tail先去打开指定的文件

    4.取出最后10行

    问题:自己写的shell是否也可以向内置命令一样传递一些选项呢

    答 可以 传递

    #./test.sh a b c

    接收

    在脚本中可以用“$1”来表示a   “$2”来表示b  。。。。。

    测试 :编写test4.sh  传递a b c

     

  • 相关阅读:
    马尔科夫过程的CKS方程的推导
    科研的一些工具和想法
    读研究生后的一些想法
    读过的一些好书以后可做参考
    latex学习笔记
    机器人工程师学习要求
    《MySQL实战45讲》(8-15)笔记
    《MySQL实战45讲》(1-7)笔记
    java11运行javaFX项目
    ClickHouse入门笔记
  • 原文地址:https://www.cnblogs.com/xixirui/p/9211293.html
Copyright © 2011-2022 走看看