zoukankan      html  css  js  c++  java
  • Linux命令行扩展和被括起来的集合

    命令行扩展:`` 和 $()

    单引号'' 双引号"" 反向单引号``

    在很多场景下效果不同

    [root@centos8 ~]#echo "echo $HOSTNAME"
    echo centos8.localdomain
    [root@centos8 ~]#echo 'echo $HOSTNAME'
    echo $HOSTNAME
    [root@centos8 ~]#echo `echo $HOSTNAME`
    centos8.localdomain
    

    结论:

    • 单引号:六亲不认,变量和命令都不识别,都当成了普通的字符串 最傻
    • 反向单引号:变量和命令都识别,并且会将反向单引号的内容当成命令进行执行后,再交给调用反向单引号的命令继续 最聪明
    • 双引号:不能识别命令,可以识别变量 介于两者之间

    :$( ) 和 ``

    内部放命令
    因为``反向单引号没办法区分配对,所以$()可以替代从而进行嵌套

    [root@centos8 ~]#ll `echo `date +%F`.txt`
    -bash: .txt: command not found
    ls: cannot access 'date': No such file or directory
    ls: cannot access '+%F': No such file or directory
    [root@centos8 ~]#ll $(echo $(date +%F).txt)
    -rw-r--r-- 1 root root 0 Mar 20 09:55 2020-03-20.txt
    [root@centos8 ~]#ll `echo $(date +%F).txt`
    -rw-r--r-- 1 root root 0 Mar 20 09:55 2020-03-20.txt
    [root@centos8 ~]#ll $(echo `date +%F`.txt)
    -rw-r--r-- 1 root root 0 Mar 20 09:55 2020-03-20.txt
    

    斜杠 转义符

    将原本的含义转成其他意义了

    [root@centos8 ~]#echo $PATH
    $PATH
    [root@centos8 ~]#echo 
    [root@centos8 ~]#echo \
    
    [root@centos8 ~]#echo \
    [root@centos8 ~]#echo \\
    \
    
    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    BZOJ 2260: 商店购物
    BZOJ 4349: 最小树形图
    BZOJ 1115: [POI2009]石子游戏Kam
    BZOJ 1413: [ZJOI2009]取石子游戏
    BZOJ 2275: [Coci2010]HRPA
    BZOJ 4730: Alice和Bob又在玩游戏
    BZOJ 1455: 罗马游戏
    BZOJ 3509: [CodeChef] COUNTARI
    BZOJ 1513: [POI2006]Tet-Tetris 3D
    #大数加减乘除#校赛D题solve
  • 原文地址:https://www.cnblogs.com/bpzblog/p/13139410.html
Copyright © 2011-2022 走看看