想在shell中表达一个字符串,可以是单引号,双引号,也可以什么也不用。
单引号
1.使用单引号时候回将字符串的任何的字符都会原样输出,不能使用shell的变量
2.单引号中不能出现单引号
双引号
1.双引号中可以出现双引号,只不过需要装换一下,也可以使用变量。
2.双引号中可以出现单引号,也是原样输出
什么也不用
1.直接使用echo后边跟一段字符串就好
echo "输出双引号-'单引号出现'" echo 没有单双引号 ##引号的在shell中的使用 #单引号原样输出简单字符串 helloword='hello word' str="hello,\"$helloword\"!\n" echo $var echo $str #拼接字符串 my_name="Janle" greeting="hello, $my_name!" greeting1="hello1, ${my_name} !" echo -e "$greeting\n$greeting1" #截取和查询字符串 string="qwertyuiop" echo "string 的长度为:${#string}" echo "${string:2:${#string}-1}" #下标是从1开始算起的 echo `expr index "$string" p`
运行后的结果
输出双引号-'单引号出现' 没有单双引号 hello,"hello word"!\n hello, Janle! hello1, Janle ! string 的长度为:10 ertyuiop 10
shell中使用数组
#shell中数组使用
array_01=(array_01_1 array_01_2 array_01_3) array_02=( array_02_1 array_02_2 array-02_3 ) array_03[0]=array_03_1 array_03[1]=array_03_2 array_03[2]=array_04_3aa #读取数组 #错误的写法$array_01[0],注意如果找不到对应的数组会输出[0] echo "输出array_01_1:${array_01[0]}" #输出所有 echo "${array_02[*]}" echo "${array_03[@]}" #获得数组的大小 #如果在 ${#array_01[*]后边没有加}会这么样 #echo "${#array_01[*]后边没有加}"只会输出不会报错,这个要小心 echo "array_01 size ${#array_01[*]};array_02 size ${#array_02[@]}" #获得单个元素的长度${#array_03[n]} echo “${#array_03[2]}”
执行后的结果
输出array_01_1:array_01_1 array_02_1 array_02_2 array-02_3 array_03_1 array_03_2 array_04_3aa array_01 size 3;array_02 size 3 “12”