见菜鸟教程:http://www.runoob.com/linux/linux-shell-echo.html
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。
1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo It is a test
2.显示转义字符
"\"It is a test\""
结果将是:
同样,双引号也可以省略
3.显示变量
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量,
在我运行的时候是 一定要在name 前后加上大括号 ,这样写: ${ name } 才能正常运行。
#!/bin/sh
read name
echo "$name It is a test"
以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:
[root@www ~]# sh test.sh
OK #标准输入
OK a test #输出
4.显示换行
-e 一定要才能转义 \n 为换行,双引号可以不写
echo -e "OK! \n" # -e 开启转义
echo "It it a test"
输出结果:
OK!
It it a test
5.显示不换行
#!/bin/sh
echo "OK! \c" # -e 开启转义 \c 不换行
echo "It is a test"
! It is a test
6.显示结果定向至文件
把 it is a teat 写入文件 myfile中。
echo "It is a test" > myfile
7.原样输出字符串,不进行转义或取变量(用单引号)
'$name\"'
$name\"
8.显示命令执行结果
`date`
注意:这里使用的是反引号`,而不是单引号'。
结果将显示当前日期
Thu Jul 24 10:0846 CST 2014
echo输出的字符串总结
==========================================================
引用变量 | 引用转移符 | 引用文本格式符(换行符、制表符)
单引号 | 否 | 否 | 否
双引号 | 能 | 能 | 能
无引号 | 能 | 能 | 否
==========================================================
read 命令一个一个词组地接收输入的参数,每个词组需要使用空格进行分隔;如果输入的词组个数大于需要的参数个数,则多出的词组将被作为整体为最后一个参数接收。
测试文件 test.sh 代码如下:
执行测试:
实例,文件 test.sh:
参数说明: