学习大数据:shell编程
2020-08-09 22:36
906 查看
1、 shell
(1) 创建文件设置权限
① touch xxx.sh
1) #!/bin/bash
2) Echo ‘hello world’s
3) :x
② chmod u+x xxx.sh
③ ./xxx.sh
(2) 变量
① 系统变量 echo $PATH printf ‘%s\n%s\n%s\n’ $PATH $PWD $USER
$UID $HOME $HOSTNAME
set:显示所有系统变量
② 自定义变量
1) 数据类型:
a. 弱类型(通常为字符串、数值)
b. 数组([val1,…,valn])
2) 声明变量:VAR=VALUE
a. 变量命名组成规则同java变量
b. =两侧不能有空格
c. 赋值
a) A=123
b) A=herry ‘Herry Chen’ “1 and 2”
c) A=
ls -laA=$(ls -la)
3) 取消变量:
Unset VAR
4) 变量的作用域:
a. 环境变量:跨shell访问
b. 全局变量:当前shell中访问
a) 每个shell会话都是独立进程拥有独立PID,不同shell会话之间不会相互交叉影响
b) 函数中的变量默认也是全局变量
c. 局部变量:当前函数中访问
函数中声明局部变量:local A=5
d. 预定义变量
a) $? 最后一次执行命令的返回状态 0表示正常 其他表示异常
b) $$ 当前进程的进程编号PID
c) $! 后台运行的最后一个进程编号PID
5) 输入参数 ./xxx.sh 1 2 3 调用shell脚本传参
a. $0 命令本身
b. $n int(n>0) 表示第几个参数
c. $ 所有参数(整体)
d. $@ 所有参数(个体)
e. $# 参数数量
(3) 注释
① 单行注释:#
② 多行注释::<<! xxxxxx !
(4) 控制台输入
read -t SECONDS -p “HINT” VAR
1) -t 超时(秒)
2) -p 提示
3) VAR 控制台输入值赋值的变量
(5) 运算符
① 算术运算符(+ - / =)和算术表达式
1) 运算符:同java
2) 表达式
a. $((EXP)) S=$((2+3))
b. $[EXP] S=$[23]
c. expr EXP 分布计算
注意:*表示乘法,其他相同,运算符前后必须加空格
S=`expr 2 \ 3`
d. let 简单表达式
② 关系运算符和条件表达式condition前后有空格
1) [ condition ] -eq -ne -gt -lt -ge -le
2) test condition 同上
3) [[ condition ]] 同上
③ 逻辑运算符
1) ! 非
2) -o 或
3) -a 且
(6) 逻辑控制
① 分支结构
if [ condition ]
then
语句块
fi
if [ condition1 ]
then
语句块
elif [ condition2 ]
then
语句块
else
语句块
fi
case $VAR in
V1)
语句块
;;
V2)
语句块
;;
*)
语句块
;;
esac
② 循环
for VAR in val1 … valn
do
语句块
done
for((初始化;条件;变化))
do
语句块
done
while [ condition ]
do
语句块
done
2、 系统命令
(1) dirname path 获取目录
(2) basename path 获取文件名
相关文章推荐
- UNIX环境高级编程学习之第六章系统数据文件和信息-修改第四章实现的Shell的“ls -l”功能
- 介绍一个不错的shell脚本编程学习网站给大家
- shell 编程学习---2009/30/21(开始)
- shell脚本编程之if语句学习笔记
- C#2005 .NET3.0高级编程学习笔记————类和结构,类的数据成员,类的函数成员(方法、属性)
- 开个帖,开始学习shell编程
- shell脚本编程之case语句学习笔记
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十四节:Shell编程入门(六)
- 顶嵌学员学习笔记:Shell脚本编程总结
- ASP.NET 3.5核心编程学习笔记(23):Linq-to-SQL 数据的更新、事务、存储过程、函数
- 编程学习(六)----c++数据类型(一)
- Shell脚本编程学习入门 02
- shell脚本编程之case语句学习笔记
- UNIX环境高级编程学习笔记(七)系统数据文件和信息
- JDBC基础学习笔记_02JDBC编程的mysql数据准备并编写程序
- Linux大数据开发基础:第十一节:Shell编程入门(三)
- Linux Bash Shell学习(八):shell编程基础——string操作
- UNIX环境高级编程学习之第六章系统数据文件和信息 用链表的形式读出一个服务器的远程用户登入登出信息
- shell 编程学习
- Shell 脚本专家指南 学习笔记2 数据重定向