linux用echo显示欢迎信息,Linux命令之echo - 显示文本、打印信息



用途说明

echo命令用来打印信息,是一个最常用的命令。在命令行中常用来打印环境变量的值,已确定当前环境中是否设置了指定的环境变量。在shell脚本中,常用来打印信息和帮助调试程序。

常用参数

-n 打印信息之后不换行。

-e 对字符串转义。

使用示例

示例一 打印当前的PATH设置

[root@jfht ~]#echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/apache/apache-ant-1.7.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@jfht ~]#

示例二 打印当前的LANG设置

[root@jfht ~]#echo $LANG zh_CN.GB18030 [root@jfht ~]#

网上经常有人问在Linux下将默认语言更改为中文,我一般的做法是

在/etc/profile的末尾加上

export LANG=zh_CN.GB18030

然后重新登录即可。但是较低版本的Linux通常在某些命令的输出中出现乱码,比如常用的service命令。

示例三 打印之后不换行

[root@jfht ~]#echo -n "Please input your name: "; read name; echo "Your name is $name" Please input your name: coding Your name is coding [root@jfht ~]#

此处使用了-n参数,避免在输出信息之后自动换行。

示例四 对输出信息进行转义,比如输出换行

[root@jfht ~]#echo "hello\nworld" hello\nworld [root@jfht ~]#echo -e "hello\nworld" hello world [root@jfht ~]#echo 'hello\nworld' hello\nworld [root@jfht ~]#echo -e 'hello\nworld' hello world [root@jfht ~]#echo hello; echo world hello world [root@jfht ~]#

可以使用如下转义字符

\a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且光标移至行首; \r 光标移至行首,但不换行; \t 插入tab; \v 与\f相同; \\ 插入\字符; \nnn 插入nnn(八进制)所代表的ASCII字符;

[root@jfht ~]#echo "hello\fworld" hello\fworld [root@jfht ~]#echo -e "hello\fworld" hello      world [root@jfht ~]#echo "hello\vworld" hello\vworld [root@jfht ~]#echo -e "hello\vworld" hello      world [root@jfht ~]#

示例五 输出到标准错误输出

在编写脚本时,经常会利用管道将前一个命令的输出作为后一个命令的输入,如果要打印调试信息,但不把该信息干扰后面的命令,可以将调试信息输出到标准错误输出,如下所示。

[root@jfht ~]#echo hello >&2 hello [root@jfht ~]#

下面是一个应用此技巧的脚本片段。

Bash代码

0818b9ca8b590ca3270a3433284dd417.png

# 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

echo $CMD >>failed.dat

fi

}

问题思考

1. 将要输出的信息放在单引号、双引号以及不放在引号中有什么区别?

2. 怎样输出彩色文字(如同ls时的效果)?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值