zoukankan      html  css  js  c++  java
  • Linux命令行解析

    参考:https://wangdoc.com/bash/expansion.html
    在terminal中输入命令,shell会先进行模式扩展,然后才会把扩展后的字符串解析为参数传递给命令。

    参考:https://blog.csdn.net/weixin_43930641/article/details/105412612

    如果执行以下命令:
    $ find . -name abc
    $ find . -name abc*
    $ find . -name “abc*”
    $ find . -name “abc*” -print
    find 后面的匹配表达式必须要加引号,原因是 find命令 本身是可以解析元字符的 。在执行find的时候如过后面不加引号,那么这个*就被shell解析了,shell去匹配目录中的以 abc开头的文件,匹配到后直接将结果传给find。find接收到的参数就如: find -name abcd abc1 abc2 abc3。如果 find后面的匹配表达式加了引号,shell就不会去解析这个引号,那么这时候就由find去解析。

    大括号扩展

    https://blog.51cto.com/leomars/1894566
    
    bash支持{a,b,c}这样的扩展
    比如a{d,c,b}e会被扩展成ade ace abe
    
    filename{,.bak}被扩展成filename filename.bak
    
    cp filename{,.bak} = cp filename filename.bak
    
    tar cvfz leo{-20170202.tgz,}=tar cvfz leo-20170202.tgz leo
    
    echo a[{1,2,3}]} = echo a[1] a[2] a[3]
    
    
  • 相关阅读:
    6月16日
    9月15日
    9月14日
    9月13日
    9月12日
    6月11日
    梦断代码阅读笔记
    11周总结
    梦断代码阅读笔记
    10第一阶段意见评论
  • 原文地址:https://www.cnblogs.com/reasoner/p/14324132.html
Copyright © 2011-2022 走看看