#!/bin/bash # 字符串拼接专题 name="Shell" url="http://c.biancheng.net/shell/" str1=$name$url #中间不能有空格 str2="$name $url" #如果被双引号包围,那么中间可以有空格 str3=$name": "$url #中间可以出现别的字符串 str4="$name: $url" #这样写也可以 str5="${name}Script: ${url}index.html" #这个时候需要给变量名加上大括号 echo "==========方式一=========" context=‘start\n‘ # 文件读取方式一 cat ‘1.c‘ | while read line do echo ${line} context="${context}${line}" done # 无法打印出文件中的任何内容 :<<! 使用的是管道符号,这使得while语句在子shell中执行,这意味着while语句内部设置的变量、数组、函数等在循环外部都不再生效。 例如:echo haha | a=5,在命令执行结束后,变量a的值也不再是5。 ! echo $context echo "==========方式二=========" # 文件读取方式二 while read line do echo ${line} context="${context}${line}"‘\n‘ done < ‘1.c‘ #成功给context赋值 echo -e $context