zoukankan      html  css  js  c++  java
  • shell脚本

    1、命令解释器

    内核与用户之间的交互

     

    负责接收用户输入的操作指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。

    /etc/shells可以查看当前系统支持的shell脚本类型

    2、编程规范

    指定解释器的类型

    例:

     说明

    例:

     然后再写命令

    编写好一个shell脚本first.sh后是无法直接通过./first.sh来执行的,没有X权限

    但是可以通过指定某个shell来解释脚本语句,或者通过内部命令source(或点号”.”)来加载文件中的源代码执行。

     执行

    3、shell中常用的操作

    (1)搭配管道符操作

     其中$代表以/bin/bash结尾的 以某个字段开头可以"^root"

     awk -F: 是指以:分隔,没有这个参数则是默认的以空格分隔

    (2)搭配重定向操作

    举例:

     创建用户并设置密码

     

    -stdin

    标准输入

     

    可将输出内容输出到空文件 /dev/null (黑洞文件)中

    就不会提示

     

    4、脚本变量

    常见shell变量的类型包括自定义变量、环境变量、位置变量、预定义变量。

    set查看定义的变量

    unset 取消变量

    readonly 变量名 设置只读变量,unset不能删除只读变量

     

    定义新的变量并查看

     如果除了输出变量还要输出其他内容可用"{}"将变量括起来

     如果不加{}则会认为是abchaha这个变量

    (1)赋值变量特殊操作

    (a)""双引号

    界定字符串,特别是内容中有空格的时候

    (b)''单引号

    单引号中,任何字符均作为普通字符看待

    如单引号中要加单引号需要使用转义符

    (c)``反撇号

    一般在反撇号中写要执行的命令

     命令嵌套可使用$()

    (d)read命令

    用于变量赋值

    为多个变量赋值

     如果只有一个变量则将整行内容赋值给这个变量

    -p 显示提示信息 -t 持续多久时间

    (2)变量的作用范围

    默认情况下,新定义的变量只在当前的shell环境中有效,因此称为局部变量。当进入子程序或新的子shell环境时,局部变量将无法再使用。

     全局变量定义:

    (3)数值变量的运算

     

     

     注意:运算符前后要加空格

    2**3 :2的3次方

    5、特殊变量

    (1)环境变量

    env查看当前工作环境下的环境变量

    PATH="$PATH:/root"添加环境变量

    环境变量的全局文件为/etc/profile

    每个用户单独的配置文件在~/.bash_profile中

    (2)位置变量

    例:

     

    (3)预定义变量

     例:

    #!/bin/bash

    #

    T=date "+%Y%m%d-%H%M"

    TARFILE=beifen-${T}.tgz

    tar zcf $TARFILE $* &>/dev/null

    echo "已执行$0脚本"

    echo "共完成$#个对象的备份"

    echo "具体内容包括:$*"

    时间命令:date

    date +%F" "%T

     date +%Y%m%d

     

  • 相关阅读:
    分布式文件存储服务器之Minio对象存储技术参考指南
    httpClient4请求工具类实现
    xmake v2.5.9 发布,改进 C++20 模块,并支持 Nim, Keil MDK 和 Unity Build
    聊一聊Jmeter多用户token使用问题
    聊一聊Jmeter用IF控制器处理接口依赖
    SONiC架构分析
    SpringBoot
    微搭低代码能力月报:全新控制台/编辑器、集成企业微信、应用构建提速等
    微搭低代码已集成企业微信
    云开发CloudBase | 基本配置&用户邮箱登录开发
  • 原文地址:https://www.cnblogs.com/zhuyunlong/p/11923320.html
Copyright © 2011-2022 走看看