--- layout: post title: Linux打印 tags: Linux 打印 categories: Linux --- * TOC {:toc} # echo echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。 ## 参数 `-n` 不要在最后自动换行 `-e` 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般 文字输出: >` \a` 发出警告声; > >` \b` 删除前一个字符; > >` \c` 最后不加上换行符号; > >` \f` 换行但光标仍旧停留在原来的位置; > >` \n` 换行且光标移至行首; > >` \r` 光标移至行首,但不换行; > >` \t` 插入tab; > >` \v` 与\f相同; > >` \\` 插入\字符; > >` \nnn` 插入nnn(八进制)所代表的ASCII字符; `–help` 显示帮助 `–version` 显示版本信息 ## 原样输出字符串 若需要原样输出字符串(不进行转义),请使用单引号 echo '$name\"' ## 显示命令执行结果 echo `date` # printf printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。 注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。 printf 不像 echo 那样会自动换行,必须显式添加换行符(\n)。 $printf "Hello, Shell\n" Hello, Shell $ printf 命令的语法 `printf format-string [arguments...]` format-string 为格式控制字符串,arguments 为参数列表。 这里仅说明与C语言printf()函数的不同: * printf 命令不用加括号 * format-string 可以没有引号,但最好加上,单引号双引号均可。 * 参数多于格式控制符(%)时,format-string 可以重用,可以将所有参数都转换。 * arguments 使用空格分隔,不用逗号。 注意,根据POSIX标准,浮点格式%e、%E、%f、%g与%G是“不需要被支持”。这是因为awk支持浮点预算,且有它自己的printf语句。这样Shell程序中需要将浮点数值进行格式化的打印时,可使用小型的awk程序实现。然而,内建于bash、ksh93和zsh中的printf命令都支持浮点格式。 ## 参数 `--help`:在线帮助; `--version`:显示版本信息。 ## 格式替代符 `%b` 相对应的参数被视为含有要被处理的转义序列之字符串。 `%c` ASCII字符。显示相对应参数的第一个字符 `%d`, `%i` 十进制整数 `%e`, `%E`, `%f` 浮点格式 `%g` `%e`或`%f`转换,看哪一个较短,则删除结尾的零 `%G` `%E`或`%f`转换,看哪一个较短,则删除结尾的零 `%o` 不带正负号的八进制值 `%s` 字符串 `%u` 不带正负号的十进制值 `%x` 不带正负号的十六进制值,使用a至f表示10至15 %X 不带正负号的十六进制值,使用A至F表示10至15 `%%` 字面意义的% ## 转义 `\a` 警告字符,通常为ASCII的BEL字符 `\b` 后退 `\c` 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略 `\f` 换页(formfeed) `\n` 换行 `\r` 回车(Carriage return) `\t` 水平制表符 `\v` 垂直制表符 `\\` 一个字面上的反斜杠字符 `\ddd` 表示1到3位数八进制值的字符,仅在格式字符串中有效 \0ddd 表示1到3位的八进制值字符