shell概述与echo命令

Posted love2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell概述与echo命令相关的知识,希望对你有一定的参考价值。

一、Shell概述

1、什么是shell?


由此可见shell是用户与系统进行交互的接口,通过执行各种命令来完成时间处理与调度。

2、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@centos ~]# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

二、echo命令及shell脚本执行

1、echo 输出特殊转义字符
echo [选项] [输出内容] 选项:  
-e: 支持反斜线控制的字符转换
    \\\\ 输出\\本身 
    \\a 输出警告音 
    \\b 退格键,也就是向左删除键 
    \\c 取消输出行末的换行符
    \\e ESCAPE 键 
    \\f 换页符 
    \\n 换行符 
    \\r 回车键 
    \\t 制表符,也就是 Tab 键 
    \\v 垂直制表符 
    \\0nnn 按照八进制 ASCII 码表输出字符。其中 0 为数字零,nnn 是三位八进制数 
    \\xhh 按照十六进制 ASCII 码表输出字符。其中 hh 是两位十六进制数
-n: 取消输出后行末的换行符号(就是内容输出后不换行)

示例

[root@centos ~]# echo -e "heihei \\nhaha \\a" #先输出heihei,换行之后再输出一个 haha 最后输出警示音
heihei 
haha 
2、echo输出颜色
30m=黑色,31m=红色, 32m=绿色,33m=黄色,34m=蓝色,35m=洋红,36m=青色,37m=白色
1)字体颜色
echo -e "\\e[1;32m 绿色字体 \\e[0m"

2)背景颜色
echo -e "\\e[1;42m 绿色背景 \\e[0m"

3)闪烁
echo -e "\\e[1;5m \\e[1;32m 绿色闪烁字体 \\e[0m \\e[0m " 
3、执行shell脚本

执行shell脚本有两种方式,下面是一个简单的shell脚本:

#!/bin/bash   #直接执行时,告诉系统应该用哪一个解释器来执行。
echo -e "\\e[1;5m \\e[1;32m 你好!! \\e[0m "\\e[0m
  • 第一种执行方式,直接执行
    添加执行权限,使用相对或者绝对路径来执行
[root@centos ~]# chmod a+x test.sh 
[root@centos ~]# . test.sh 
  你好!
[root@centos ~]# /root/test.sh 
  你好! 
  • 使用解释器 + 脚本 方式执行,不需要添加执行权限。
[root@centos ~]# bash test.sh 
  你好!

以上是关于shell概述与echo命令的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程Shell基本概述与脚本执行方式

shell概述

Shell编程入门

Linux - Shell - 参数获取

Shell echo命令

Shell echo命令