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,一经查实,立即删除!

相关文章

LeetCode 169. Majority Element

LeetCode 169. Majority Element 分析 难度 易 来源 https://leetcode.com/problems/majority-element/ JDK里的排序算法,效率就是高啊 题目 Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊…

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的一个集群…

linux上git克隆命令,Git clone命令用法

git clone是git中常用的命令&#xff0c;其作用是将存储库克隆到新目录中。那么在git中&#xff0c;git clone具体该如何用呢?更快更轻松的学习Git,请点击Git微课git clone命令的作用是将存储库克隆到新目录中&#xff0c;为克隆的存储库中的每个分支创建远程跟踪分支(使用git…

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…

《写给大家看的设计书》(第四版)

今天读完了《写给大家看的设计书》&#xff08;第四版&#xff09;&#xff0c;Robin Williamy用浅显易懂的语言和例子&#xff0c;给我们展示了设计中的基本原则&#xff0c;以下做一个简单的记录和总结。 设计中需要遵循的四个原则&#xff0c;其实很多都是我们在设计中已经实…

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"…

php 安装rabtmq amqp 扩展

php 安装 rabbitmq-c-0.9.0 扩展 安装 ibrabbitmq-c github 仓库地址https://github.com/alanxz/rab... 安装过程如果报错 [ 87%] Built target amqp-get Scanning dependencies of target amqp-publish [ 88%] Building C object tools/CMakeFiles/amqp-publish.dir/publis…

linux 调用rest接口,REST调用

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

关于JWT(Json Web Token)的思考及使用心得

什么是JWT&#xff1f; JWT(Json Web Token)是一个开放的数据交换验证标准rfc7519(php 后端实现JWT认证方法一般用来做轻量级的API鉴权。由于许多API接口设计是遵循无状态的(比如Restful)&#xff0c;所以JWT是Cookie Session这一套机制的替代方案。 组成 JWT由三部分组成头部(…

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…

西北民族大学c语言程序设计复试科目,2016年西北民族大学中国民族信息技术研究院962C语言程序设计复试笔试仿真模拟题...

一、选择题1&#xff0e; 有如下程序&#xff1a;程序运行后的输出结果是( )。答:D【解析】程序执行过程为:定义结构体变量将ABC , 故D 项正确。2&#xff0e; 有以下程序第 2 页&#xff0c;共 33 页 调用strcpy函数为结构体成员赋值最后输出结果为赋值给程序运行后的输出结果…

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…

并行DA实验c语言程序,哈工大C语言DA实验报告.doc

哈工大C语言DA实验报告哈尔滨工业大学(威海)软件学院C程序设计 实验报告编号&#xff1a;姓名院系软件学院学号任课教师指导教师于水实验地点实验时间实验名称1、国王应该给大臣多少麦子&#xff1b;2用英文字母组成一个菱形&#xff1b;3、输出一段DNA序列对应的mRNA及转录出的…

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…

fir滤波器算法c语言程序,FIR滤波器设计C语言程序

实际可运行的FIR滤波器系数设计的C语言程序#include"math.h"#include"stdio.h"/*n:滤波器的阶数,n是奇数时可用来设计各种滤波器band:滤波器类型1、2、3、4分别对应低通&#xff0c;高通&#xff0c;带通&#xff0c;带阻fln:通带下边界频率fhn:通带上边界…