zoukankan      html  css  js  c++  java
  • bash 学习笔记

    学习资料来自于 https://wangdoc.com/bash/grammar.html
    下列按原章节名称记录

    1 简介

    2 基本语法

    • echo -n 取消末尾的回车 -e 会解释 这种,否则直接打印
    • ls -是短参数 --是长参数

    3 模式拓展

    略读, 主要是一些正则和小技巧,难记

    $ echo {a..c}{1..3}
    a1 a2 a3 b1 b2 b3 c1 c2 c3
    

    4 引号和转义

    • 单引号用于保留字符的字面含义,各种特殊字符在单引号里面,都会变为普通字符,比如星号(*)、美元符号($)、反斜杠()等。
    • 双引号: 三个特殊字符除外:美元符号($)、反引号(`)和反斜杠()。这三个字符在双引号之中,依然有特殊含义,会被 Bash 自动扩展。
    • 双引号的另一个常见的使用场合是,文件名包含空格。这时就必须使用双引号(或单引号),将文件名放在里面。
    • 双引号会原样保存多余的空格。
    • 双引号还有一个作用,就是保存原始命令的输出格式。如echo "$(cal)"

    5 变量

    • 等号左边是变量名,右边是变量句号。等号两边不能有空格
    • 事实上,读取变量的语法(foo,可以看作是){foo}的简写形式。
    • 如果变量的值本身也是变量,可以使用${!varname}的语法,读取最终的值。
    • 特殊变量:
      (1)$?为上一个命令的退出码,用来判断上一个命令是否执行成功。返回值是0,表示上一个命令执行成功;如果是非零,上一个命令执行失败。
      (2)$$为当前 Shell 的进程 ID。
      (3)$_为上一个命令的最后一个参数。
      (4)$!为最近一个后台执行的异步命令的进程 ID。
      (5)$0为当前 Shell 的名称(在命令行直接执行时)或者脚本名(在脚本中执行时)。
      (6)$-为当前 Shell 的启动参数。
      (7)$#表示脚本的参数数量,$@表示脚本的参数值,参见脚本一章。












    种一棵树最好的时间是十年前,其次是现在。
  • 相关阅读:
    指针和引用作为函数参数传递
    cv::Mat.type()
    Matlab 双目标定工具箱
    invalid conversion from `const void*' to `void*'
    error: 'vector' is not a member of cv
    单例模式与静态成员
    RGBD SLAM V2 +Ubuntu 16.04+ROS KINETIC配置及运行
    EntityFrameworkCore + MySQL 主从复制应用读写分离
    Docker 搭建 MySQL8.0 主从复制环境
    Asp.Net Core 项目中使用 Serilog 输出日志到 Elasticsearch
  • 原文地址:https://www.cnblogs.com/islch/p/15404792.html
Copyright © 2011-2022 走看看