Shell基础之Shell概述、echo命令

本文深入探讨了Shell作为命令解释器的角色,对比了不同Shell类别的特点,如易学性、可移植性和编辑性,并详细讲解了echo命令的用法,包括其选项和控制字符的应用,以及如何改变文本的颜色和背景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Shell 概述

什么是 Shell

shell 的分类

echo 命令


Shell 概述

什么是 Shell

  • shell是命令解释器

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”选项一致
\eESCAPE 键
\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 码也同样可以输出
  • 取消声音提示

  • 取消注释,重启

  • 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=白色。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值