(五)shell字符串深入解析

(1)基本用法

1) 由单引号' '包围的字符串:

  • 任何字符都会原样输出,在其中使用变量是无效的。
  • 字符串中不能出现单引号,即使对单引号进行转义也不行


2) 由双引号" "包围的字符串:

  • 如果其中包含了某个变量,那么该变量会被解析(得到该变量的值),而不是原样输出。
  • 字符串中可以出现双引号,只要它被转义了就行。


3) 不被引号包围的字符串

    • 不被引号包围的字符串中出现变量时也会被解析,这一点和双引号" "包围的字符串一样。
    • 字符串中不能出现空格,否则空格后边的字符串会作为其他变量或者命令解析。
#!/bin/bash
# shell只有数字和字符串两种类型

#单引号有问题
n=56
a1=num=$n
a2='num=$n'
a3="num=$n"
echo $a1
echo $a2
echo $a3

#无引号有问题
#b1=china is nice
b2='china is nice'
b3="china is nice"
echo $b1
echo $b2
echo $b3

#获取字符串长度
c1="super star is reba"
echo ${#c1}
 

来自shell的随笔均参考自 http://c.biancheng.net/view/1114.html

猜你喜欢

转载自www.cnblogs.com/oytt/p/13398266.html