• Linux shell脚本编程


    编程语言分类:根据运行方式

    编译运行:源代码-->编译器(编译) -->程序文件

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

    根据其编程过程中功能的实现是调用库还是调用外部的程序文件

    shell脚本编程:利用系统上的命令及其编程组件进行编程

    完整编程: 利用库或编程组件进行编程

    编程模式:过程式编程语言,面向对象的编程语言

    过程式:以指令为中心来组织代码,数据是服务于代码

    对象式:以数据为中心来组织代码,围绕数据来组织指令

    类(class):实例化对象,,method  代表:java,c++,Python

    shell脚本编程:过程式编程,解释运行,依赖于外部程序文件运行

    如何写shell脚本:

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

    常见的解释器:

    #!/bin/bash

    #!/usr/bin/python

    #!/usr/bin/perl

    文本编程器  :  nano

    行编辑器:sed

    全屏幕编辑器:nano,vi,vim

    shell脚本是什么?

    命令的堆积

    但很多命令不具有幂等性,需要用程序逻辑来判断运行条件是否满足,以避免其运行中发生错误

    运行脚本:

    1. 赋予执行权限,并直接运行此程序

    1. chmod +x   SCRIPT_FILE
    2. ./SCRIPT_FILE

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

    bash  SCRIPT_FILE

    注意:

    脚本中的空白行会被解释器忽略

    脚本中,除了shebang,余下所有以#开头的行,都会被视作注释行而被忽略,即为注释行

    shell脚本的运行是通过运行一个子shell进程实现的

    bash的配置文件:

    两类:

    profile类:为交互式登录的shell进程提供配置

    bashrc类:为非交互式登录的shell进程提供配置

    登录类型:

    交互式登录shell进程:

    直接通过某终端输入账号密码后登录打开的shell进程

    使用su命令,su - username 或者使用su -l username 执行的登录切换

    非 交互式登录shell进程:

    su username 执行的登录切换

    图形界面下打开的终端

    运行脚本

    profile 类:

    全局:对所有用户都生效

    1. /etc/profile
    2. /etc/profile.d/*.sh

    用户个人:仅对当前用户有效:

    ~/.bash_profile

    功用:

    1.用于定义环境变量

    2.运行命令或脚本

    bashrc类:

    全局:

    /etc/bashrc

    用户个人:

    ~/.bashrc

    功用:

    1.用来定义本地变量

    2.定义命令别名

    交互式登录shell进程读取文件顺序

    /etc/profile -->/etc/profile.d/* -->~/.bash_profile -->~/.bashrc -->/etc/bashrc

    非互式登录shell进程读取文件顺序

    ~/.bashrc -->/etc/bashrc -->/etc/profile.d/*        (脚本取决去这些配置信息)

    命令行中定义的特性,例如变量和别名 作用域为当前shell进程的生命周期

    配置文件中定义的特性,只对随后新启动的shell进程有效

    让通过配置文件定义的特性立即生效:

    1. 通过命令行重新定义一次

    2.让shell进程重新读取配置文件

    source CONF_FILE

    . CONF_FILE

  • 相关阅读:
    【EI会议征稿】第三届应用力学与先进材料国际学术会议(ICAMAM 2024)
    FPGA刷题——序列检测
    读书笔记:《精益数据分析》
    【AGC】远程配置如何传入自定义属性
    深度解读《深度探索C++对象模型》之拷贝构造函数
    接口自动化用例设计总结
    JS基础
    SDL2 简单介绍以及Windows开发环境搭建
    开源六轴机械臂myCobot 280末端执行器实用案例解析
    REVV Racing 指定赛车赛事,发挥最大潜力吧!
  • 原文地址:https://blog.csdn.net/ly1358152944/article/details/126248195