linux-command
Version:
116 lines (79 loc) • 3.23 kB
Markdown
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'
```