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 \\
    \
    
    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    QQ空间爬虫--获取好友信息
    分层最短路-2018南京网赛L
    安装SSH,配置SSH无密码登陆
    树形DP--求树上任意两点间距离和
    JTS基本概念和使用
    odps编写UDF的实现
    oozie安装总结
    同步工具的选择
    转:hive面试题
    转:hive-列转行和行转列
  • 原文地址:https://www.cnblogs.com/bpzblog/p/13139410.html
Copyright © 2011-2022 走看看