简介
1、shell简介
shell本身是用C语言编写的程序
是用户使用Unix/Linux的衔接
shell既是一种命令语言,而且是一种程序设计语言
注意:shell运行不要用root账户,普通账户授予可读r,可执行x,755;否则可能会对数据造成巨大损坏
2、shell脚本的两种运行方式:
交互式:解释执行用户的命令,用户输入一条,shell就解释执行一条(shell命令)
批处理:用户写完的shell脚本,其中可能包含很多条命令,脚本让它一次执行完,而不是一条一条的再敲命令
eg:
vi a.sh
#!/bin/bash
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
3、版本?
bash,sh,ash,csh,ksh(这里不做详细介绍,简单了解即可)
4、编程语言:编译型语言、解释型语言
编译型语言:C、C#、C++、Java
源代码>编译>执行
因为转换后的代码接近计算机底层,所以eg:编程时需要指定变量类型,代码量庞大
解释型语言:awk、sed、shell、Python、Perl
源代码>执行
没有编译过程,运行略慢,代码写的过程快,调错快;能轻易实现文本和目录的调用、处理,适合于公司处理大数据
缺点:运行没有编译型语言快
5、特性:
开发容易:可在短时间内完成一个功能强大的好用的脚本
简单:shell是一个脚本语言,弱类型,高级语言;用它可以简洁明了的表达复杂的代码操作
可移植性:脚本本身无需修改就可以在不同的系统上运行
缺点:
shell脚本把代码放进文本里,不安全,全世界人民都能看到