2016年10月18日 星期二

單引號與雙引號,與跳脫符號

1. 電腦在讀字元時有時當字元看,有時不當字元看
     e.g.:  echo
            echo abc  -> abc
            echo ~ -> /root
            echo '  -> error
            echo "  -> error
            echo !  -> !
            echo @ -> @
            echo * -> /......................

2. 產生2件事:不當字元的字有何意義。如何印出不當字元的字
如何印出不當字元的字: 用跳脫符號 \

e.g. : echo \~ -> ~
       echo \' -> '
       echo \" ->"

跳脫符號加特定字母有特意義。
e.g. : \n   換行


不當字元看的字有何意義
e.g.:  單引號與雙引號

echo '$PATH' -> $PATH (單引號內所有字元當字元

echo ''$PATH" -> /usr/bin:/usr/local/bin(雙引號除了 一些特殊字元,例如$ 、  \,引號內所有字元當字元)

ex: echo '\' -> \
      echo "\" -> error

php e.g.
#!/usr/bin/php
<?php
$color = 'red';
$item = 'hat';
$result = sprintf('I have a %s %s\n', $color,$item);
echo $result;
?>
ans:I have a red hat\n

#!/usr/bin/php
<?php
$color = 'red';
$item = 'hat';
$result = sprintf("I have a %s %s\n", $color,$item);
echo $result;
?>
ans:I have a red hat

最常見的一個例子是C程式語言中,用反斜線字元「\」作為跳脫字元,來表示那些不可打印的ASCII控制符。在URI協定中,跳脫字元是百分號「%」。