Shell
Shell概述
-
Shell 是一个命令行解释器,它为用户提供了一个向Linux 内核发送请求以便运行
程序的界面系统级程序,用户可以用Shell 来启动、挂起、停止甚至是编写一些程
序。 -
Shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell 是解释执行的
脚本语言,在Shell 中可以直接调用Linux 系统命令。
Shell分类
- Bourne Shell:从1979 起Unix 就开始使用Bourne Shell,Bourne Shell 的主文件名为
sh。 - C Shell:C Shell 主要在BSD 版的Unix 系统中使用,其语法和C 语言相类似而得名
- Shell 的两种主要语法类型有Bourne 和C,这两种语法彼此不兼容。Bourne 家族主要包括
sh、ksh、Bash、psh、zsh;C 家族主要包括:csh、tcsh - Bash:Bash 与sh 兼容,现在使用的Linux 就是使用Bash 作为用户的基本Shell。
Shell脚本执行方式
echo输出命令
用法:[root@localhost ~]$ echo [选项] [输出内容]
选项:-e:支持反斜线控制的字符转换
字符转换:
例:
[root@localhost ~]# echo -e "ab\bc"
#\b删除左侧字符
[root@localhost ~]# echo -e "a\tb\tc\nd\te\tf"
#制表符与换行符
[root@localhost ~]# echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"
#按照十六进制ASCII 码也同样可以输出
[root@localhost ~]# echo -e "\e[1;31m abcd \e[0m"
#输出颜色
#30m=黑色,31m=红色,32m=绿色,33m=黄色
#34m=蓝色,35m=洋红,36m=青色,37m=白色
脚本的执行
准备一下只有echo的简单脚本hello.sh:
#!/bin/Bash
#The first Program
#Author: zyg1018763328
echo "Hello World"
脚本的内容很简单,打印Hello World;
注意前面要写注释#!/bin/Bash
,声明脚本的功能、作者(这很重要)
脚本的执行方式:
-
赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
-
通过Bash 调用执行脚本
bash hello.sh
sh hello.sh
PS:在linux使用windows中编辑的脚本,有一点要注意;linux中的换行符是$
,而windows中换行符是^M$
,二者有区别,所以第一步首先要进行转换:dos2unix hello.sh
,即可;