创建博客

This commit is contained in:
lemonchann
2019-11-17 01:12:14 +08:00
commit 6f0c102626
133 changed files with 20640 additions and 0 deletions

View File

@@ -0,0 +1,138 @@
---
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位的八进制值字符