大数据生态系统 修仙之道 Shell Blog
@(2019-01-14)[Docs Language:简体中文 & English|Programing Language:Shell|Website:www.geekparkhub.com||GeekDeveloper:JEEP-711|Github:github.com/geekparkhub|Gitee:gitee.com/geekparkhub]
- 极客实验室是极客国际公园旗下为未来而构建的极客社区;
- 我们正在构建一个活跃的小众社区,汇聚众多优秀开发者与设计师;
- 关注极具创新精神的前沿技术&分享交流&项目合作机会等互联网行业服务;
- Open开放
·
Creation创想|
OpenSource开放成就梦想 GeekParkHub共建前所未见! - Future Vision : Establishment of the Geek Foundation;
- **GeekParkHub GithubHome: **https://github.com/geekparkhub
- **GeekParkHub GiteeHome: **https://gitee.com/geekparkhub
- 欢迎贡献
各领域开源野生Blog
&笔记
&文章
&片段
&分享
&创想
&OpenSource Project
&Code
&Code Review
- ??????????? issues: geekparkhub.github.io/issues ???????????
文章目录
- 大数据生态系统 修仙之道 Shell Blog
-
- 1. shell 简介
- 2. shell 编程概述
- 3. shell 工作原理
- 4. shell 既是命令解释器
- 5. shell 快速入门
- 6. shell 变量
- 7. shell 运算符
- 8. shell 条件判断
- 9. shell 流程控制
- 10. case语句
- 11. for循环
- 12. while循环
- 13. read读取控制台输入
- 14. shell 函数
- 15. shell 综合案例
- 16. 修仙之道 技术架构迭代 登峰造极之势
- ?如何对该开源文档进行贡献?
- ?感谢您的阅读 欢迎您的留言与建议?
- License 开源协议
1. shell 简介
Shell脚本(英语:Shell script),又称Shell命令稿、程序化脚本,是一种计算机程序使用的文本文件,内容由一连串的shell命令组成,经由Unix Shell直译其内容后运作,被当成是一种脚本语言来设计,其运作方式与解释型语言相当,由Unix shell扮演命令行解释器的角色,在读取shell脚本之后,依序运行其中的shell命令,之后输出结果,利用shell脚本可以进行系统管理,文件操作等.在Unix及所有的类Unix系统中,如Linux、FreeBSD等操作系统,都存在shell脚本,依照Unix shell的各种不同类型,shell脚本也有各种不同方言,在DOS、OS/2、Microsoft Windows中的批处理文件,跟shell脚本有类似的功能 . —— 维基百科
2. shell 编程概述
linux运维工程师在进行服务器集群管理时,需要编写shell程序来进行服务器管理
对java和python开发者来说,工作的需要,可能会编写shell脚本进行程序或者服务器维护
比如编写一个定时备份数据库的脚本,对于大数据开发者来说,需要编写shell程序来管理集群
3. shell 工作原理
外层应用程序调用shell,shell调用linux内核,linux内核调用驱动硬件
4. shell 既是命令解释器
它为用户提供一个向linux内核发送请求以便运行程序的界面系统程序,用户可以使用
Shell是一个命令行解释器,它接收应用从程序/用户命令,然后调用操作系统内核
shell启动/挂起/停止/甚是编写一些程序
5. shell 快速入门
shell 脚本执行方式 & 脚本格式要求
脚本以**#!/bin/bash
** 开头
脚本需要有(x)可执行权限
shell入门应用案例
编写第一个 HelloWorld Shell脚本
1.创建一个shell脚本,输出HelloWorld!
[root@corehub]# vim HelloWorld.sh
2.输入**i
**,进入编辑模式
echo "Hello World!"
~
~
3.按esc键,写入设置并退出
echo "Hello World!"
~
~
:wq
脚本常用执行方式
方式一:输入脚本绝对路径或相对路径
chmod 744
./ .sh 执行脚本
方式二:(sh+脚本)
sh ./ .sh
不用赋予脚本权限,直接执行即可
6. shell 变量
linux shell变量分为 系统变量和用户自定义变量
系统变量 $HOME
$PWD
$SHELL
**$USER
等等
比如echo $HOME
**等等
显示当前shell中所有的变量 :set
定义变量规则
变量名称可以有**字母
、数字
、下划线
组成,但不能以数字开头
**
等号两侧不能有空格
变量名一般习惯大写风格
将命令的返回值赋给变量
A=ls -la
反引号,运行里面的命令,并把结果返回给变量A
A=$(ls -la) 等价于反引号
shell变量定义
定义变量: 变量 = 值
撤销变量: unset 变量
声明静态变量: readonly 变量
,注意 不能unset
变量定义 快速入门案例
输出系统预变量
echo "PATH=$PATH"
echo "user=$USER"
定义变量A
A=100 echo "A=$A"
撤销变量A
unset A echo "A=$A"
声明静态变量B=2,不能unset
readonly A=99 echo "A=$A"
可把变量提升为全局环境变量,可提供其他shell程序使用
多行注释:
:<<!Code!