目录

一、编程语言介绍

二、shell介绍

1、shell介绍

2、bash shell基本特性

2.1 命令和文件自动补全

2.2 常见的快捷键

3、shell脚本介绍

准确来说:

3.1 案例演示

3.2 什么时候用到脚本?

4、shell脚本语法

4.1 shell脚本组成

4.2 脚本文件命名规范

4.3 代码规范

4.4 脚本执行方法


一、编程语言介绍

编程语言是指计算机能理解的语言,人类通过使用计算机语言可以给计算机批量下达任务,让其按照人类的思想去完成工作。最常见的语言有:汇编语言、C语言、java语言、php语言、Python语言、golang语言等等。

编程语言分类:

  • 编译型语言

程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、java

  • 解释型语言

程序不需要编译,程序在运行时由解释器翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Python/JavaScript/ Perl /ruby/Shell等都是解释型语言。

二、shell介绍

shell在计算机中起到什么作用呢?为什么要求shell呢,我们可以看看计算机操作系统的组成:

看图之后问大家个问题,两个人在电话聊天:只会说法语的法国人,只会说汉语的你。如何沟通呢?

请个翻译在你两中间

同理,系统内核只知道二进制

如果你想给计算机内核下任务,让其驱动硬件干活,那么有两种选择

1、你学会二进制

2、找个翻译

1、shell介绍

shell就是我们找来的翻译

shell是一个程序,采用C语言编写,是用户和linux内核沟通的桥梁。它既是一种命令语言,又是一种解释性的编程语言。通过一个图表来查看一下shell的作用。

2、bash shell基本特性

知己知彼方可百战百胜,如何应用Bash shell,我们先看看他的特性,有助于我们快速应用。

2.1 命令和文件自动补全

Tab能补全命令和文件名称

2.2 常见的快捷键

Ctrl + c    终止前台运行的程序
Ctrl + z    将前台运行的程序挂起到后台
Ctrl + d    退出 等价exit
Ctrl + l    清屏
Ctrl + a    光标移到命令行的最前端
Ctrl + e    光标移到命令行的最后端
Ctrl + u    删除光标前所有字符
Ctrl + k    删除光标后所有字符
Ctrl + r    搜索历史命令

3、shell脚本介绍

shell脚本是什么?简单来说就是将需要完成某个任务所执行的命令按照执行顺序保存到文本中,并给予执行权限。

  • 它是按照顺序从上到下执行脚本命令。
  • 它是解释型的,意味着不需要编译。

准确来说:

若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= shell脚本

3.1 案例演示

# 需求                         # 执行的命令
创建一个用户:harry             useradd harry
密码设置为:yunwei.98989 echo    "yunwei.98989"|passwd --stdin harry
该用户创建文件夹/tmp/zutuanxue   mkdir /tmp/zutuanxue
该用户创建文件/tmp/zutuanxue/README  touch /tmp/zutuanxue/README
将“hello world“输入到/tmp/zutuanxue/README  echo 'hello world' > /tmp/zutuanxue/README# 实现的代码 test.sh
[root@sql-master ~]# cat test.sh
#!/bin/bash#DESC: this is a test script
#AUTHOR: Sky
#RELEASE: 1.0# 创建用户harry
useradd harry# 设置用户密码 yunwei.98989
echo "yunwei.98989"|passwd --stdin harry# 使用harry创建文件夹,文件,输入文件中内容
su - harry -c "mkdir /tmp/zutuanxue"
su - harry -c "touch /tmp/zutuanxue/README"
su - harry -c "echo 'hello world' > /tmp/zutuanxue/README"# 添加执行权限
[root@sql-master ~]# chmod +x test.sh# 执行脚本
[root@sql-master ~]# ./test.sh
更改用户 harry 的密码 。
passwd:所有的身份验证令牌已经成功更新。

验证脚本是否执行成功:

3.2 什么时候用到脚本?

重复化、复杂化的工作,通过把工作的命令写成脚本,以后仅仅需要执行脚本就能完成这些工作。

  • 自动化分析处理
  • 自动化备份
  • 自动化批量部署安装等

4、shell脚本语法

来吧,光说不练嘴把式,我们来看看如何书写一个脚本呢,写好一个脚本有哪些规范呢?

4.1 shell脚本组成

4.2 脚本文件命名规范

咱们编写的脚本文件名称尽量言简意赅,例如编写一个nginx的安装脚本,命名名称可以为nginx_install.sh

  • 脚本扩展名 .sh
  • 名字不要太长,尽量在26个字节内

4.3 代码规范

1、#!/bin/bash
//脚本第一行, #!魔法字符,指定脚本代码执行的程序。即它告诉系统这个脚本需要什么解释器来执行,也就是使用哪一种Shell2、"#"代表注释,第一行 #!特例 3、//以下内容是对脚本的基本信息的描述,大家可以根据实际情况尽可能的写详细一些,方便后续使用者阅读了解
# Name: 脚本名字
# Desc:描述describe
# Path:存放路径
# Usage:用法
# Update:更新时间
# Author:作者
# Release: 分发版本4、//下面就是脚本的具体内容了
commands
...

4.4 脚本执行方法

  • 标准脚本执行方法(建议):
# 编写完脚本文件后,添加执行权限
[root@sql-master ~]# cat 1.sh
#!/bin/bash
#xxxx
#xxx
#xxx
hostname
date
[root@sql-master ~]# chmod +x 1.sh#1. 绝对路径执行脚本
[root@sql-master ~]# /root/1.sh#2. 当前路径执行脚本
[root@sql-master ~]# ./1.sh
  • 非标准的执行方法(不太建议):
[root@sql-master ~]# bash 1.sh
[root@sql-master ~]# sh 1.sh
[root@sql-master ~]# bash -x 1.sh-x:一般用于排错,查看脚本的执行过程
-n:用来查看脚本的语法是否有问题注意:如果脚本没有加可执行权限,不能直接使用标准的执行方法执行脚本,可以使用 bash 1.sh

参考文档:编程语言与shell脚本-组团学

【Shell 脚本速成】01、编程语言与 Shell 脚本介绍相关推荐

  1. Shell脚本编程01:基础知识

    Shell脚本与Windows/Dos下的批处理相似,就是将各类命令预先放入到一个文件中,然后执行该文件,便可以达到与批处理类似的功能,主要是方便管理员进行设置或者管理用的. 换句话来说,shell脚 ...

  2. shell两个时间字符串插值_Shell 脚本速成

    0x00 前言 这段时间快速把 Micropoor 的内网课程看完了一遍,里面出现了很多 Shell 脚本. Shell 脚本有什么好处? 无需安装其他软件 适合任务自动化,擅长系统管理任务 通过 S ...

  3. Linux 命令行与shell编程 第10章 构建基本脚本

    本章内容 构建基本脚本 使用多个命令 创建shell脚本文件 现在我们已经介绍了Linux系统和命令行的基础知识,可以开始编程了.本章讨论编写shell脚本的基础知识.在开始编写自己的shell脚本大 ...

  4. php写一个shell脚本文件格式,一篇文章学会——shell脚本编写

    用了caffe有一段时间了,感觉自己写shell脚本的能力有待提高,特地从菜鸟笔记处系统的看了一遍,其实学习基础就可,内容也不多,我就不总结了.把网站上的内容用markdown重新编辑了一下,各位可以 ...

  5. linux中调试脚本,在Linux下调试 Shell 脚本

    在大多数编程语言中都有调试工具可用于调试. 调试工具可以运行需要调试的程序或脚本,使我们可以在运行时检查脚本或程序的内部执行过程. 在shell脚本中我们没有任何调试工具,只能借助命令行选项(-n,- ...

  6. shell的相关知识(变量、脚本定义)

    一.shell的相关知识: 1.对于shell编程语言大体分为:机器语言.汇编语言.高级语言 2.shell变量类型:事先确定数据的存储格式和长度 shell变量分为:字符型.数值型 数值型又分为:整 ...

  7. 4-1:shell编程之编写第一个shell脚本

    文章目录 一:什么是shell脚本 二:如何编写shell脚本 (1)脚本文件的格式 (2)可执行权限 (3)执行脚本 三:第一个shell脚本 (1)基本结构 (2)变量和常量 A:创建变量和常量 ...

  8. 【Shell 编程基础第一部分】Shell脚本HelloShell及简单的Shell基础

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/shell/759.html ☞ 点击订阅 ☜ ...

  9. shell脚本和linux命令,Linux shell脚本全面学习(一)

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...

最新文章

  1. Category中实现了原始类实例变量的get方法导致的警告
  2. node 关键点总结
  3. mxnet加载预训练
  4. 常见Linux面试题总结
  5. Linux线程(五)
  6. Node.js 函数
  7. 嵌套字典|python_Python | 如果不是,则使用嵌套,根据销售额计算折扣
  8. 教你怎么获得ICM会员ID解析.xxx域名(membership id icm)
  9. 【Pytorch】LeNet的pytorch写法
  10. 检测SQL注入式攻击代码
  11. emblog博客打开显示 数据库密码错误,请返回主页的解决办法!
  12. AndroidStudio Debug调试使用
  13. 安川服务器电源板过流维修,安川伺服驱动器驱动板维修常见故障
  14. ATX电源的工作原理
  15. 转:请对照这二十四条逻辑谬误自行打脸
  16. BestCoder Round #16
  17. Clion安装教程(Linux)
  18. java.util.Map——Map集合的常用方法
  19. 计算机考研自我介绍大概多少字,1分钟自我介绍大概多少字
  20. 5G NR标准 第9章 传输信道处理

热门文章

  1. mysql 查询数据库ip_如何查看连接MYSQL数据库的IP信息
  2. JavaScript计时器制作进度条
  3. 【XSY3904】直线(分块)
  4. 华为 嵌入式软件工程师面试题
  5. 全连接网络和卷积神经网络
  6. 【Android】studio查看日志解决刷爆问题
  7. 【DP_区间DP专辑】
  8. protege 和webprotege使用
  9. C语言常用转义字符表 和 ASCII码表完整版
  10. 【深圳】大湾区第三次.NET技术交流会(网络直播)