概述
Shell是什么?
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编译语言,易编译,易调试,灵活度较强,Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令
Shell的分类
Bourne Shell:从1979年去Unix就开始使用Bouren Shell,它的主文件名就是sh。
C Shell:主要在BSD版的Unix系统中使用,其使用语法和c语言类似而出名。
Shel的俩种主要语法类型有Bourne 和C,这俩种语法彼此不兼容,Bourne家族主要包括sh,ksh,Bash,psh,zsh;C家族主要包括csh,tcsh;
Bash:Bash和sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。
Linux支持的Shell
命令: /etc/shells
脚本执行方式
echo输出命令
语法:echo [选项] [输出内容]
-e | 支持反斜杠控制的字符转换 |
不加-e就原封不动的输出,加了后就会进行转换等
控制字符表
实例-测试退格符
命令:
echo "ab\bc" echo -e "ab\bc"
运行效果:
实例-测试退格符和换行符
实例-按照十六进制ASCII码输出
实例-按照颜色输出
\e[1开始颜色输出 \e[0m关闭颜色输出
部分颜色对应表:30黑色,31红色,32绿色,33黄色,34蓝色,35洋红,36青色,37白色
命令:echo -e "\e[1;颜色值m 字符串 \e[0m"
第一个脚本
使用vim
命令 打开一个文件(创建一个文件)。
vim hello.sh
\#!/bin/Bash #格式不能省略,表示以下写的程序是Shell程序 \#The first program \#Auther:linxi (E-mail:linxi@qq.com) echo -e "国庆快乐"
脚本执行
- 赋予执行权限,直接运行
–chmod 755 hello.sh
–./hello.sh
- 通过bash调试执行脚本(不需要执行权限)
–bash hello.sh
其他
cat -A 文件名 可以查看文件隐藏字符,这里的$为换行符
windows编写的脚本换行符为^M$ Linux环境下编写的换行符为$
winodws转换Linux换行符转换命令 语法:dos2unix 文件名
同理Linux转Winodws就是 unix2dox 文件名