linux-command/command/echo.md

116 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

echo
===
输出指定的字符串或者变量
## 补充说明
**echo命令** 用于在shell中打印shell变量的值或者直接输出指定的字符串。linux的echo命令在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字一般起到一个提示的作用。
### 语法
```shell
echo(选项)(参数)
```
### 选项
```shell
-e启用转义字符。
-E: 不启用转义字符(默认)
-n: 结尾不换行
```
使用`-e`选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
- `\a` 发出警告声;
- `\b` 删除前一个字符;
- `\c` 不产生进一步输出 (\c 后面的字符不会输出)
- `\f` 换行但光标仍旧停留在原来的位置;
- `\n` 换行且光标移至行首;
- `\r` 光标移至行首,但不换行;
- `\t` 插入tab
- `\v` 与\f相同
- `\\` 插入\字符;
- `\nnn` 插入 `nnn`八进制所代表的ASCII字符
### 参数
变量:指定要打印的变量。
### 实例
```shell
/bin/echo Hello, world!
```
在上面的命令中两个词Hello 和 world作为单独的参数传递给 echo并且 echo 按顺序打印它们,用空格分隔
下一个命令产生相同的输出:
```shell
/bin/echo 'Hello, World!'
```
但是,与第一个示例不同,上述命令提供了单引号字符串 'Hello, world!' 作为一个单一的一个参数。
单引号将可靠地保护它免受 shell 解释,将特殊字符和转义序列逐字传递给 echo。
例如,在 `bash shell` 中,变量名前面有一个美元符号 ($)。 在下一个命令中,引号内的变量名按字面意思处理; 在引号之外,它被转换为它的值。
```shell
/bin/echo 'The value of $PATH is' $PATH
# The value of $PATH is
# /home/hope/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
```
用echo命令打印带有色彩的文字
**文字色:**
```shell
echo -e "\e[1;31mThis is red text\e[0m"
This is red text
```
* `\e[1;31m` 将颜色设置为红色
* `\e[0m` 将颜色重新置回
颜色码:重置=0黑色=30红色=31绿色=32黄色=33蓝色=34洋红=35青色=36白色=37
```shell
echo -e "\x1b[30;1m 0 黑色 \x1b[0m"\
"\x1b[31;1m 1 红色 \x1b[0m"\
"\x1b[32;1m 2 绿色 \x1b[0m"\
"\x1b[33;1m 3 黄色 \x1b[0m"\
"\x1b[34;1m 4 蓝色 \x1b[0m"\
"\x1b[35;1m 5 洋红 \x1b[0m"\
"\x1b[36;1m 6 青色 \x1b[0m"\
"\x1b[37;1m 7 白色 \x1b[0m"
```
**背景色**
```shell
echo -e "\e[1;42mGreed Background\e[0m"
Greed Background
```
颜色码:重置=0黑色=40红色=41绿色=42黄色=43蓝色=44洋红=45青色=46白色=47
**文字闪动:**
```shell
echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"
```
红色数字处还有其他数字参数0 关闭所有属性、1 设置高亮度加粗、4 下划线、5 闪烁、7 反显、8 消隐
**输出内容结尾不添加换行符**
```shell
echo -n 'hello'
```