zoukankan      html  css  js  c++  java
  • shell通配符, 变量, shell作用域, $#@*等说明

    1. 指定格式输出当前时间:

      echo `date +%Y%m%d`  # 注意使用反引号, +号后面不要有空格

      反引号中的东西会被当做命令来执行, 并输出执行的结果

    2. $uid用于判断当前是否是root用户登陆的, 是为0, 否则非零.

    3. * 匹配任意多个字符, 注意不要带引号; ? 匹配任意一个字符

     [a-Z] 匹配任意小写或大写字母; [0-9] 任意数字; [abc] abc中任意一个

     [^abc] 取反的意思, 匹配任意非abc的一个字符;

     () 在子shell中执行括号中的命令, 如(ls), (cd xx/yy);

     {} 集合; mkdir -p a/{b,c}; a目录下有b和c目录

         mkdir -p a{b/m,c/n}; a目录下有b和c目录, b下有m,c下有n

      还可嵌套使用: mkdir -p a{b/{x,y},c/n};  b下有x,y两个目录

     {} 中的元素会被挨个拼接, 用法如下:

      

     4. shell中变量的使用(使用$ip来引用变量):

     shell中变量赋值可分为两类, 分别是显示赋值和隐式赋值

     ip=1.1.1.1  或者 read ip;     # read命令会读取命令行中的输入内容, 并赋值给变量ip

     read -p "请输入内容: "  ip

    5. shell中的位置变量, 

     与普通变量不同, 普通变量都需要先定义(无论是显示赋值还是read), 再通过$name来引用; 而位置变量不同,

     位置变量是系统内置的, 无需定义, 直接在使用处通过$number来引用即可, 其会自动从命令行中对应位置获取

     值并引用.

    6. shell中变量分类(当前shell和全局):

     直接定义的ip=1.1.1.1只在当前shell中有效, 可使用export ip来使ip为全局作用域生效, 此处全局也只限于当前shell

     及其子shell中使用, 跨端的shell是引用不到的.

    7. 注意理解当前shell和子shell的区别, 当前shell中不使用export定义的变量, 使用bash, sh或相对路径执行的文件内是

     引用不到变量的, 但是使用. 或者 source执行的文件是可以引用的;  同理在文件中定义的变量, 要想在shell中引用到

     就必须使用. 或source来执行, 因为这两种方式是在当前shell中执行文件内容的.

     反引号中的命令也是在子shell中执行的, 如果在反引号中调用函数, 则在当前shell中无法引用到函数中不适用local定义

     定义的变量, 就是因为反引号造成的.

    8. 查看系统中已存的所有环境变量, 直接输入: env 回车即可.

    basename 用来获取文件名, 使用$0时,获取到的是输入可能是带路径的文件, 常配合basename使用来获取文件名

    如: basename $0;       dirname 用来获取目录名称,及文件名之前的所有

  • 相关阅读:
    Excel函数和公式——Excel基础(8)
    Excel函数和公式——Excel基础(7)
    条件格式与公式——Excel基础(6)
    日期函数——Excel基础(5)
    Excel导入邮件合并——Excel基础(4)
    VScode与ssh
    python绘图相关知识点
    Python加密成.so或dll
    Pytorch从本地获取数据集
    Pytorch_3.3_ 线性回归的简洁实现
  • 原文地址:https://www.cnblogs.com/quzq/p/11266193.html
Copyright © 2011-2022 走看看