您的位置:首页 > 其它

[一文一命令]echo命令详解

2013-12-20 18:28 260 查看

echo

功能简述:echo命令用来打印信息,是一个最常用的命令。在命令行中常用来打印环境变量的值,已确定当前环境中是否设置了指定的环境变量。在shell脚本中,常用来打印信息和帮助调试程序。
参数:
-n 打印信息之后不换行。
-e 对字符串转义。
可用的转义字符:
a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
使用实例:
(1)显示当前的PATH
[root@LiWenTong test4]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/ato

(2)打印之后不换行
[root@LiWenTong test4]# echo -n "pls input yourname:"; read name;echo "ths $name"---》read命令表示从键盘获取变量值。
pls input your name:atong
ths atong
[root@linux-lwt tmp]# echo "pls inpu " ; read name; echo "ths $name"
pls inpu
atong
ths atong
(3)转义字符
[root@LiWenTong test4]# echo -e "hello\nword"
hello
word
[root@LiWenTong test4]# echo "hello\nword"
hello\nword

(4)输出到标准错误输出
在编写脚本时,经常会利用管道将前一个命令的输出作为后一个命令的输入,如果要打印调试信息,但不把该信息干扰后面的命令,可以将调试信息输出到标准错误输出,如下所示。
如:[root@LiWenTongtest4]# echo hello>&2
Hello
下面是网上运用此方法进行脚本调试的技巧!!!
# usage: proc_cmd
proc_cmd()
{
CMD=$1
NUM=$(get_estimate_count $CMD)
# 只有返回数值的时候才打印信息,否则出错了
if [ "$NUM" ]; then
printf "%-48s\t%16s\n" $CMD $NUM
else
echo $CMD >&2 ---à这样就能够在不影响命令的执行下,看到$CMD信息是否是我们想要的内容
echo $CMD >>failed.dat
fi
}
---------------------------后续自我小结-----------------
echo其实就是简单按输出内容的功能而已,没有其他的什么功能。输出变量echo $变量
--------------------------------------------------------

本文出自 “从头开始” 博客,请务必保留此出处http://atong.blog.51cto.com/2393905/1343356
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: