Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。
1.显示普通字符串:
echo "beijing"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo beijing
2.显示转义字符
echo "\"beijing\""
结果将是:
"beijing"
同样,双引号也可以省略
3.显示变量
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量
#!/bin/sh
read name
echo "$name beijing"
以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:
[root@www ~]# sh test.sh
OK #标准输入
OK beijing #输出
4.显示换行
echo -e "OK! \n" # -e 开启转义
echo "beijing"
输出结果:
OK!
beijing
5.显示不换行
#!/bin/sh
echo -e "OK! \c" # -e 开启转义 \c 不换行
echo "beijing"
输出结果:
OK! beijing
6.显示结果定向至文件
echo "beijing" > myfile
一般不需要保留内容的话直接重定向到/dev/null文件即可
7.原样输出字符串,不进行转义或取变量(用单引号)
echo '$name\"'
输出结果:
$name\"
8.显示命令执行结果
echo `date`
结果将显示当前日期
Thu Jul 24 10:08:46 CST 2014
例:
[root@localhost tsh]# vim test.sh
#!/bin/bash
#直接输出
echo "beijing"
echo beijing
#转义
echo "\"shanghai\""
# -e 开启转义 \n换行
echo -e "OK! \n"
echo "hangzhou"
# -e 开启转义 \c 不换行
echo -e "OK! \c"
echo "shenzhen"
#显示结果定向至文件myfile
echo "guangzhou" > /dev/null
#取变量
a=2
echo $a
#取时间
echo `date`
[root@localhost tsh]# chmod +x test.sh
[root@localhost tsh]# ./test.sh
beijing
beijing
"shanghai"
OK!
hangzhou
OK! shenzhen
2
Fri Sep 23 14:34:28 UTC 2016