echo (命令) - 维基百科,自由的百科全书
在计算机技术中,echo
是一个DOS、OS/2、Microsoft Windows、Singularity、Unix和类Unix系统中的命令,用来将字符串输出到终端上。它通常在shell脚本和批处理中使用,以将状态信息输出到屏幕或文件中。
使用范例
[编辑]$ echo This is a test. This is a test. $ echo "This is a test." > ./test.txt $ cat ./test.txt This is a test.
可以使用ANSI转义代码图形再现序列(SGR sequences)输出彩色文字:
FGRED=`echo "\033[31m"` FGCYAN=`echo "\033[36m"` BGRED=`echo "\033[41m"` FGBLUE=`echo "\033[35m"` BGGREEN=`echo "\033[42m"` #将终端颜色恢复为正常状态 NORMAL=`echo "\033[m"` #然后: echo "${FGBLUE} Text in blue ${NORMAL}" echo "Text normal" echo "${BGRED} Background in red" echo "${BGGREEN} Background in Green and back to Normal ${NORMAL}"
有的Unix变种(例如Linux)支持选项-n
和-e
,且除非提供-e
选项,否则不处理转义序列。例如,FGRED=`echo -e "\033[31m"`
可能会在Linux下使用。不幸的是,由于历史上BSD和System V的不兼容性,这不是标准选项[1];有问题时,可以使用printf
命令。因此,建议使用printf
,确保转义序列被正确处理。等效的printf
代码就是FGRED=`printf "\033[31m"`
。
DOS、Microsoft Windows支持选项on
和off
。例如,echo off
可以关闭回显,即不显示命令提示符。
C:\>ECHO off ::注意下一条命令前无命令提示符 ECHO Hello World! Hello World! ECHO on C:\>
一般,批处理会在首行执行此条命令,以关闭执行过程中的回显。然而,执行此条命令亦会显示命令提示符,需使用@echo off
以关闭该条命令的回显。
@ECHO off ECHO Hello World! PAUSE
实现范例
[编辑]#include <stdlib.h> #include <stdio.h> /* echo command-line arguments; 1st version */ int main(int argc, char *argv[]) { int i; for (i = 1; i < argc-1; i++) { printf("%s%s", argv[i], " "); } printf("%s%s", argv[argc-1], "\n"); return EXIT_SUCCESS; }
Perl中的实现也很简单:
#!/usr/bin/env perl print join " ", @ARGV;
参考
[编辑]- ^ IEEE Std 1003.1, 2004, documentation for echo. [2013-04-15]. (原始内容存档于2010-04-01).
外部链接
[编辑]- 单一UNIX®规范第7期,由國際開放標準組織发布(英文) : write arguments to standard output – 命令与工具(Commands & Utilities)参考,
- Microsoft TechNet上的Echo帮助(页面存档备份,存于互联网档案馆)(简体中文)