zoukankan      html  css  js  c++  java
  • Bash中单引号和双引号的区别

    单引号和双引号的区别

    单引号:必须成对使用,它可以保护所有的字符不被翻译。如变量$1,和奇数个单引号的作用相同,偶数个单引号=1个双引号
    双引号:必须成对出现,它可以保护一些元字符不被翻译,但允许变量和命令替换,和偶数个单引号的作用相同。另外,当引用时(使用一个变量的值)用双引号有助于防止由于空格导致单词分割开和由于识别和扩展了通配符而导致的不必要匹配。
    反斜线:shell也不解释转义符后的字符,'$1'和"$1"一样
    单引号和双引号可以互相保护

    例子1:

    $ cat test.sh

    #!/bin/bash

    echo "$1"=$1 "$2"=$2
    echo '$1'=$1 '$2'=$2

    $ ./test.sh hello world
    hello=hello world=world
    $1=hello $2=world

    例子2:

    #!/bin/bash

    echo '$1'=$1
    echo '$1'='$1'
    echo '$1'="$1"          //一个双引号
    echo '$1'=$1
    echo '$1'='$1'
    echo '$1'=''$1''         //两个单引号

    例子3:

    单引号中的反斜线不被翻译
    $echo '\'
    \

    例子4:

    单引号保护双引号
    $echo 'Mother yelled, "Time to eat!" '
    Mother yelled, "Time to eat!"

    例子5:

    双引号保护单引号
    $echo "Hi, I'm glad to mee you"
    Hi, I'm glad to meet you 

    例子6:

    双引号可以防止由于空格导致单次分割
    $ names="name1 name2 name3"
    $ for name in $names; do
    > echo "$name"
    > done
    name1
    name2
    name3

    $ for name in "$names"; do
    $ echo "$name"
    $ done
    name1 name2 name3

  • 相关阅读:
    VS2008 插件开发.
    防刷新.
    JavaScript 的数据类型
    SQL Redist content: Command line option syntax error. Type Command /? for Help. 错误!!!
    使用Yahoo.com.cn的POP和SMTP
    文件上传
    待解决的问题
    [转]不常见但有用的HTML下拉选单
    新工具 BuildSql 生成数据库文档 .
    重写 DropDownList !
  • 原文地址:https://www.cnblogs.com/pandachen/p/4604514.html
Copyright © 2011-2022 走看看