您的位置:首页 > 运维架构 > Shell

Linux-shell编程基本介绍

2020-06-03 04:46 162 查看

Shell 简介

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shel编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支、控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

Shell 的分类

Linux中shell有多种类型,其中最常用的几种是Bourne shell系列和C shell系列
Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。
Linux操作系统默认的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。

Shell类型                  易学性    可移至性      编辑性     快捷性
Bourne shell(sh)          容易       好          较差       较差
Bourne Again shell(bash)   难       较好         好         好
C shell(csh)              较难       差         较好        较好
TC shell(tcsh)             难        差          好         好

查询Linux中支持的shell类型:

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

Shell脚本的执行方式

echo 命令

echo  [选项]  [输出内容]
-e  支持反斜线控制的字符转换
-n  取消输出后行尾的换行符号

-e选项 支持的特殊符号列表


特别记住两个 :\ n:换行符 \t :制表符

[root@localhost ~]# echo -e "a\tb\tc\nd\te\tf"
a	b	c
d	e	f

echo 显示颜色

格式:“\e[m”代表颜色输入开始;“\e[m” 代表颜色输入结束!
文字颜色:
30=黑色,31=红色,32=绿色,33=黄色,34=蓝色,35=紫色,36=天蓝,37=白色,39=结束
底纹颜色:
40=黑色,41=红色,42=绿色,43=黄色,44=蓝色,45=紫色,46=天蓝,47=白色,49=结束
特殊的显示:
\e[0m 关闭所有属性
\e[1m 设置高亮度
\e[4m 下划线
\e[5m 闪烁
\e[7m 反显
\e[8m 消隐
注意:多个条件之间用分号(;)分割开,同时生效

创建一个合格的shell脚本
创建shell脚本文件,一般以.sh作为脚本后缀(好识别),也可不写。

[root@localhost ~]# ./hello.sh
#!/bin/bash
#This is my first piece of code
echo "We will print hello world of 7 colors."
echo -e "\e[30;1mhello world\e[0m"
echo -e "\e[31;1mhello world\e[0m"
echo -e "\e[32;1mhello world\e[0m"
echo -e "\e[33;1mhello world\e[0m"
echo -e "\e[34;1mhello world\e[0m"
echo -e "\e[35;1mhello world\e[0m"
echo -e "\e[36;1mhello world\e[0m"

执行shell脚本
shell 脚本作为一种脚本程序文件,该如何运行?
方法一:添加x 执行权限(相对或绝对路径执行)

[root@localhost ~]# chmod +x hello.sh    #给文件执行权限


方法二:用bash命令,调用脚本文件
不用给权限直接执行

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: