一、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命令的更多相关文章

  1. shell编程 之 echo命令和printf命令

    1 echo命令基本情况: echo显示普通字符:echo "i am studying shell"(有木有引号都可以) 支持转义字符:echo "\"hel ...

  2. shell编程之echo命令

    Linux echo命令不能显示文件中的内容.显示字符串或者变量功能说明:显示文字.语 法:echo [-ne][字符串]或 echo [--help][--version]补充说明:echo会将输入 ...

  3. shell中使用echo命令改变输出显示样式

    文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例:echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色,闪 ...

  4. Shell脚本学习-echo命令

    跟着RUNOOB网站的教程学习的笔记 shell的echo指令与PHP的echo指令类似,都是用于字符串的输出.命令格式: echo string 1 显示普通字符串 echo "It is ...

  5. Shell教程 之echo命令

    1.显示普通字符串 这里的双引号完全可以省略,以下命令效果一致: echo "传递参数实例!" echo 传递参数实例! 2.显示转义字符 echo "\"传递 ...

  6. Linux Shell基础 Bash常见命令 echo命令

    概述 shell中常见的命令echo. 输出命令:echo echo命令的输出内容如果没有特殊含义,则将原内容输出到屏幕:如果输出内容有特殊含义,则输出打印其含义. 命令格式如下: [root@loc ...

  7. shell命令:echo命令详解

    功能说明:显示文字. 语 法:echo [-ne][字符串] / echo [--help][--version] 补充说明:echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开, 并在 ...

  8. Shell echo命令

    Shell echo命令 echo "It is a test" 这里的双引号完全可以省略 .显示变量 read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shel ...

  9. Shell命令:echo 命令详解

    http://blog.chinaunix.net/uid-27124799-id-3383327.html # echo命令介绍 功能说明:显示文字. 语 法:echo [-ne][字符串] / e ...

随机推荐

  1. AE安装部署以及监测ArcEngine runtime 9.3是否安装

    目的:用ArcEngine9.3开发项目以后,用Visual Studio2008打包工具打包: 同时监测别的机器上是否有ArcEngine Runtime或者Desktop的支持. 解决方案: 1. ...

  2. Oracle10g安装步骤(二)

    接上篇:

  3. D^3ctf两道 pwn

    这次 的D^3ctf 又是给吊打 难顶... 所以题都是赛后解出来的,在这感谢Peanuts师傅 unprintableV 看看保护: 看看伪代码,其实代码很少 void __cdecl menu() ...

  4. CBO优化器实用理解

    对于CBO的理解: RBO-----基于规则的优化器 CBO-----基于代价的优化器 CBO计算执行计划的代价(cost),并从中选择cost最低的执行方案,它依赖数据库对象的统计信息,统计信息的及 ...

  5. 内核升级在线安装报错:Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was14: curl#6 - "Could not resolve host: mirrors.elrepo.org; 未知的错误"

    修改网卡配置 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 BOOTPROTO="none" ...

  6. Spring 框架基础(05):事务管理机制,和实现方式

    本文源码:GitHub·点这里 || GitEE·点这里 一.Spring事务管理 1.基础描述 Spring事务管理的本质就是封装了数据库对事务支持的操作,使用JDBC的事务管理机制,就是利用jav ...

  7. centOS系统安装-RabbitMq

    前言 消息通知机制是我们在日常业务开发总常常都会遇到:在微服务架构里,消息也是必不可少的,我们可以借助它异步实现很多业务,就拿我们日常的购物需求来说,在我们下单支付之后,我们就可以通过消息机制来异步处 ...

  8. Scala: Case classes

    Case classes are like regular classes with a few key differences which we will go over. Case classes ...

  9. MATLAB工具包——curvelet变换的理解(转)

    curvelet下载的curvelet工具包,有以下三个文件:fdct_usfft_matlab.fdct_wrapping_matlab.mecv三个文件夹添加到matlab路径中即可. curve ...

  10. 基于SpringBoot+Netty实现一个自己的推送服务系统

    目标 实现一个WebSocket服务中心,支持水平扩展 技术栈 SpringBoot.Netty.JDK8.MySQL.Redis.RabbitMQ.MyBatis-Plus 环境搭建 主要功能点说明 ...