echo
显示一行文本
1、单引号
单引号中内容都作为字符串
忽略所有的命令和特殊字符,类似于一个字符串的用法
[root@node1 ~]# echo -e 'a\nb'ab[root@node1 ~]# echo -e 'a\\nb'a\nb[root@node1 ~]# val=1[root@node1 ~]# echo -e '$val'$val
2、双引号
双引号不会忽略特殊字符和命令
[root@node1 ~]# echo -e "a\\nb"ab[root@node1 ~]# echo -e "$val"1
附录:应用案例
redis的一个配置文件redis.conf
内容如下,我们想部署不同端口号的多个实例
port 6379logfile "/data/redis-6379/logs/redis6379.log"dbfilename dump6379.rdbdir /data/redis-6379appendfilename "appendonly6379.aof"
我们可以写个脚本
# 定一个变量port,不同的实例配置只需修改这个port就可以了port=6381# 创建目录,不同实例的配置放在不同的目录下data_path="/data/redis-$port"mkdir $data_path/{conf,logs} -pecho "port $port" >> $data_path/conf/redis.confecho "logfile \"$data_path/logs/redis$port.log\"" >> $data_path/conf/redis.confecho "dbfilename dump$port.rdb" >> $data_path/conf/redis.confecho "dir $data_path" >> $data_path/conf/redis.confecho "appendfilename \"appendonly$port.aof\"" >> $data_path/conf/redis.conf
执行脚本创建不同的实例的目录和配置,只需修改port就可以了