Linux之Shell编程
1.1.Shell概述
- Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
- Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
- 用户<—>Shell<—>内核
- Shell就是Linux的操作界面(人机交互界面)
1.2.Shell分类
- Shell两种主要语法类型是Bourne和C,两种语法彼此不兼容。
- Bourne Shell 主要包括sh,ksh,Bash,psh,zsh;C Shell 主要包括csh,tcsh.
- C Shell主要在BSD版本的Unix系统中使用,其语法和C语言类似而得名。
- Linux的Shell用的是Bourne家族中的Bash。
1.3.Linux支持的Shell
echo $SHELL
命令查看当前Linux所使用的Shellvi /etc/shells
查看Linux所兼容的shell,输入相应shell的名称即可进入该shell,退出exit
2.脚本执行方式
2.1 echo输出命令
echo [选项] [输出内容]
选项:
-e :支持反斜线控制的字符转换(类似c语言的转义字符),可用来调整输出格式
例如:echo "hello world"
2.2第一个脚本
[root@localhost ~]# vi hello.sh
#!/bin/bash
#The first program
echo -e "\e[1;34m hello world \e[0m"
解释上述程序:
1.hello.sh: 后缀.sh表示是一个脚本文件
2.#在Linux中表示注释
3.#!/bin/bash这句话不是注释,其意义是表示此程序是Linux的一个标准脚本,不可省略!
4.\e[1;34m \e[0m: \e代表调用颜色,[1代表开启颜色,31m代表用红色 , [0m代表关闭颜色
2.3脚本执行
#赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
#通过Bash调用执行脚本
bash hello.sh