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