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设置(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 

0818b9ca8b590ca3270a3433284dd417.png

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

}

# 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时的效果)?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java学习(82):静态代码块内部类

//静态代码块内部类 public class test18{private static final String URL;private static final String DEVICE;private static final String USER;private static final String ROOT;static test18 self;static {class Inner{public void printMessage(){System.out.println…

linux进程管理fork,Linux -- 进程管理之 fork() 函数

一个进程调用fork()函数后&#xff0c;系统先给新的进程分配资源&#xff0c;例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中&#xff0c;只有少数值与原来的进程的值不同。相当于克隆了一个自己。Test1for(int i 0; i<2; i){if(fork() 0)print…

java学习(83):常用基础类object

//常用基础类 public class ObjectClass {private String name;private int age;public void say(){System.out.println(name);System.out.println(age);}public void setAge(int age) {this.age age;}public int getAge() {return age;}public void setName(String name) {th…

Elasticsearch及相关插件的安装

Elasticsearch及相关插件的安装 1、安装Elasticsearch并启动服务 2、安装第三方插件 2.1、Head插件 是Elasticsearch的一个集群管理工具&#xff0c;可以通过它来查看和搜索ES的数据&#xff0c;是完全由html5编写的独立网页程序。 2.2、Bigdesk插件 是Elasticsearch的一个集群…

java学习(84):object常用方法tostring,equals,hashcode

//object常用方法 public class test21 {public static void main(String[] args) {Object obj new Object();ObjectCl usr new ObjectCl();usr.setAge(6);usr.setName("歌谣");usr.say();//tostringString str usr.toString();System.out.println(str);//equalsO…

linux不支持32,Visual Studio Code 1.36发布,不再支持Linux 32位

VS Code 1.36&#xff0c;即2019年6月发布的Visual Studio Code&#xff0c;已发布。新版本已更新至Electron 4.x&#xff0c;意味着它将不再在Linux 32位上运行。现在可以将文件夹从VS Code外部拖放到文件资源管理器中进行复制。 以前&#xff0c;在将文件夹放入VS Code Explo…

java学习(85):Interage包装类基本使用

测试类 public class test22 {public static void main(String[] args){int num5;Integer obj1new Integer(num);System.out.println("obj1的值为"obj1);Integer obj2100;System.out.println("obj2的值为"obj2);Integer obj3new Integer("-789"…

linux 调用rest接口,REST调用

1. 概述与SOAP相比&#xff0c;REST WebService简化了调用&#xff0c;也降低了技能要求。REST 近年来已经成为最主要的 Web 服务设计模式。 事实上&#xff0c;REST 对 Web 的影响非常大&#xff0c;由于其使用相当方便&#xff0c;已经普遍地取代了基于 SOAP 和 WSDL 的接口设…

java学习(86):Interage方法compareto,parseint,intvalue

public class test22 {public static void main(String[] args){int num5;Integer obj1new Integer(num);System.out.println("obj1的值为"obj1);Integer obj2100;System.out.println("obj2的值为"obj2);Integer obj3new Integer("-789");System…

JAVA四则运算(读写文件)

完成时间&#xff1a;17&#xff1a;10 package 四则运算试题;import java.io.BufferedReader; import java.io.PrintStream; import java.util.Scanner; import java.io.FileReader; import java.io.IOException; public class jisuanti {public static void main(String[] ar…

java学习(87):Interage包装类进制转换

public class test22 {public static void main(String[] args){int num5;Integer obj1new Integer(num);System.out.println("obj1的值为"obj1);Integer obj2100;System.out.println("obj2的值为"obj2);Integer obj3new Integer("-789");System…

java学习(88):Charactor包装类

//Character包装类 public class test23 {public static void main(String[] args){char chA;//使用构造方法Character obj1new Character(中);//使用静态方法Character obj2Character.valueOf(ch);//获取char值char zhongobj1.charValue();System.out.println(zhong);int reso…

【Java】 剑指offer(67) 把字符串转换成整数

本文参考自《剑指offer》一书&#xff0c;代码采用Java语言。 更多&#xff1a;《剑指Offer》Java实现合集 题目 请你写一个函数StrToInt&#xff0c;实现把字符串转换成整数这个功能。当然&#xff0c;不能使用atoi或者其他类似的库函数。 思路 题目很简单&#xff0c;主要就…

java学习(89):Charactor包装类统计

//Character方法数量统计 public class test24 {public static void main(String[] args) {char ch A;//使用构造方法Character obj1 new Character(中);//使用静态方法Character obj2 Character.valueOf(ch);char[] arr {5, A, a, C, D, U, 5, 9, ,J,9};countChar(arr);}p…

java学习(90):Character方法大小写转换

//Character方法大小写转换 public class test25 {public static void main(String[] args) {char ch A;//使用构造方法Character obj1 new Character(中);//使用静态方法Character obj2 Character.valueOf(ch);char[] arr {5, A, a, C, D, U, 5, 9, ,J,9};//countChar(arr…

c语言实现socket转json,C++解析JSON进行网络传输--一个通过JSON方式的socket传输

1、客户端&#xff1a;#include "json//json.h"#include #pragma comment(lib, "WS2_32.lib")#pragma comment(lib, "json_vc71_libmtd.lib")int main(){Json::Value val;Json::StyledWriter style_write;val["name"] "xiaoli&q…

《linux就该这么学》第六节,计划任务和用户身份管理!

课本笔记&#xff1a; case条件测试语句 4.4&#xff1a;计划任务服务 at 设置一次性计划任务 at 时间 //设置执行的任务 at -l或atq // 查看设置好但未执行的任务 ctrld 保存at计划任务 ctrlc取消at计划任务 atrm 任务序号…

java学习(91):System类

//System类 import java.util.Date; import java.util.Properties; public class test26 {public static void main(String[] args){testOut(-1);//获取系统时间long sysTimeSystem.currentTimeMillis();System.out.println(sysTime);Date datenew Date();System.out.println(d…

c语言 用一维数组存储二叉树,用一维数组存储二叉树时,总是以前序遍历顺序存储结点。( ? )...

用前模式包括献不治疗的积人本哪项以下极贡。维数包括学校工作的过程和方面以下技术几个社区。组存总题大括&#xff1a;致包青少区问年社。可能在含工气体含有有或井施&#xff0c;备合格的个人和相防护应配用具应(。部件理液更换切断或修液压压钳应先。特殊须提劳动理情况前解…

Servlet 文件上传

Servlet 可以与 HTML form 标签一起使用&#xff0c;来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。 本文使用到的文件有&#xff1a; 创建一个文件上传表单 下面的 HTML 代码创建了一个文件上传表单。以下几点需要注意&#xff1a; 表单 method…