Shell基础之Shell概述、echo命令

目录

Shell 概述

什么是 Shell

shell 的分类

echo 命令


Shell 概述

什么是 Shell

  • shell是命令解释器

Shell基础之Shell概述、echo命令_第1张图片

shell 的分类

Shell 类别 易学性 可移植性 编辑性 快捷性
Bourne Shell (sh) 容易 较差 较差
Korn Shell (ksh) 较难 较好 较好
Bourne Again (Bash) 较好
POSIX Shell (psh) 较难 较好
C Shell (csh) 较难 较好 较好
TC Shell (tcsh)
  • Shell 的两种主要语法类型有 Bourne 和 C,这两种语法彼此不兼容。
  • Bourne 家族主要包括 sh、ksh、Bash、psh、zsh;
  • C 家族主要包括:csh、tcsh (Bash 和 zsh 在不同程度上支持 csh 的语法)。
  • 可以通过/etc/shells 文件来查询 Linux 支持的 Shell。命令如下:
[root@localhost ~]# vi /etc/shells
/bin/sh
/bin/Bash
/sbin/nologin
/bin/tcsh
/bin/csh

echo 命令

[root@localhost ~]# echo [选项] [输出内容]
  • 选项
    • -e: 支持反斜线控制的字符转换
    • -n: 取消输出后行末的换行符号(就是内容输出后不换行)
#例子 1:
[root@localhost ~]# echo "Mr. Shen Chao is the most honest man!"
#echo 的内容就会打印到屏幕上。
Mr. Shen Chao is the most honest man!
[root@localhost ~]#

#例子 2:
[root@localhost ~]# echo -n "Mr. Shen Chao is the most honest man!"
Mr. Shen Chao is the most honest man![root@localhost ~]#
#如果加入了“-n”选项,输出内容结束后,不会换行直接显示新行的提示符。
  • 在 echo 命令中如果使用了“-e”选项,则可以支持控制字符,
控制字符 作 用
\\ 输出\本身
\a 输出警告音
\b 退格键,也就是向左删除键
\c 取消输出行末的换行符。和“-n”选项一致
\e ESCAPE 键
\f 换页符
\n 换行符
\r 回车键
\t 制表符,也就是 Tab 键
\v 垂直制表符
\0nnn 按照八进制 ASCII 码表输出字符。其中 0 为数字零,nnn 是三位八进制数
\xhh 按照十六进制 ASCII 码表输出字符。其中 hh 是两位十六进制数
例子 3:
[root@localhost ~]# echo -e "\\ \a" 
\
#这个输出会输出\,同时会在系统音响中输出一声提示音
例子 4:
[root@localhost ~]# echo -e "ab\bc"
ac
#这个输出中,在 b 键左侧有“\b”,所以输出时只有 ac
例子 5:
[root@localhost ~]# echo -e "a\tb\tc\nd\te\tf"
a b c
d e f
#我们加入了制表符“\t”和换行符“\n”,所以会按照格式输出
例子 6:
[root@localhost ~]# echo -e "\0141\t\0142\t\0143\n\0144\t\0145\t\0146"
a b c
d e f
#还是会输出上面的内容,不过是按照八进制 ASCII 码输出的。
  • 也就是说 141 这个八进制,在 ASCII 码中代表小写的“a”,其他的以此类推。
例子 7:
[root@localhost ~]# echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"
a b c
d e f
#如果按照十六进制 ASCII 码也同样可以输出
  • 取消声音提示

  • 取消注释,重启

Shell基础之Shell概述、echo命令_第2张图片

  • echo 命令还可以进行一些比较有意思的东西,比如:
例子 8:
[root@localhost ~]# echo -e "\e[1;31m abcd \e[0m"
  • 这条命令会把 abcd 按照红色输出。解释下这个命令\e[1 是标准格式,代表颜色输出开始,\e[0m代表颜色输出结束,31m 定义字体颜色是红色。
  • echo 能够识别的颜色如下:
    • 30m=黑色,31m=红色,32m=绿色,33m=黄色,34m=蓝色,35m=洋红,36m=青色,37m=白色。
例子 9:
[root@localhost ~]# echo -e "\e[1;42m abcd \e[0m"
  • 这条命令会给 abcd 加入一个绿色的背景。echo 可以使用的背景颜色如下:40m=黑色,41m=红色,42m=绿色,43m=黄色,44m=蓝色,45m=洋红,46m=青色,47m=白色。

【注】:参考尚硅谷沈超老师教程

你可能感兴趣的:(Shell编程)