加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell基础

发布时间:2020-12-15 23:11:15 所属栏目:安全 来源:网络整理
导读:shell脚本基础 一、一些编程的基础概念 1.程序=指令+数据 2.程序的编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 3.编程语言: 低级:汇编 高级: 编译:高级语言--编译器--目标代码 java,C# 解释:高级语言--解释

shell脚本基础

一、一些编程的基础概念

1.程序=指令+数据
2.程序的编程风格:

  • 过程式:以指令为中心,数据服务于指令
  • 对象式:以数据为中心,指令服务于数据

3.编程语言:

  • 低级:汇编
  • 高级:
    • 编译:高级语言-->编译器-->目标代码
      java,C#
    • 解释:高级语言-->解释器-->机器代码
      shell,perl,python

4.编程逻辑处理方式:

  • 顺序执行
  • 循环执行
  • 选择执行

5.shell编程:过程式、解释执行
编程语言的基本结构:

  • 各种系统命令的组合
  • 数据存储:变量、数组
  • 表达式: a + b
  • 语句:if

6.shell脚本的用途有:

  • 自动化常用命令
  • 执行系统管理和故障排除
  • 创建简单的应用程序
  • 处理文本或文件

二、shell脚本的格式要求

格式要求:首行shebang机制

#!/bin/bash # 表示表示在执行脚本时内部会使用该路径的bash去执行。
#!/usr/bin/python # 表示表示在执行脚本时内部会使用该路径的Python去执行。
#!/usr/bin/perl

2.1如何创建shell脚本

第一步:

  • 第一行必须包括shell声明序列:#!
    #!/bin/bash
  • 添加注释
    注释以#开头

第二步:运行脚本

  • 给予执行权限,在命令行上指定脚本的绝对或相对路径
chmod +x abc.sh  # 给脚本添加执行权限
./abc.sh   #执行当前目录(相对路径)
或者
/tmp/abc.sh  #绝对路径方式

注意:给予执行权限后,直接在命令行输入脚本命令也不会像cd、cat等命令直接执行,因为该shell脚本不在$PATH路径中,而hash是在$PATH寻找命令。因此要想直接输入命令就执行,需要将shell脚本放在$PATH路径下:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

  • 直接运行解释器,将脚本作为解释器程序的参数运行
bash  /data/hello.sh  
或  
cat /data/hello.sh | bash

2.2脚本规范

脚本代码开头约定:
1、第一行一般为调用使用的语言
2、程序名,避免更改文件名为无法找到正确的文件
3、版本号
4、更改后的时间
5、作者相关信息
6、该程序的作用,及注意事项
7、最后是各版本的更新简要说明

脚本的基本结构:
#!SHEBANG
CONFIGURATION_VARIABLES
FUNCTION_DEFINITIONS
MAIN_CODE

示例:

#!/bin/bash
# ------------------------------------------
# Filename: hello.sh
# Revision: 1.1
# Date: 2017/06/01
# Author: wang
# Email: [email?protected]
# Website: www.magedu.com
# Description: This is the first script
# ------------------------------------------
# Copyright: 2017 wang
# License: GPL
echo “hello world”

三、脚本调试

bash -n /path/to/some_script    # 检测脚本中的语法错误
bash -x /path/to/some_script    # 调试执行

注意:对于shell脚本中的命令行: ①如果是某个行的命令错误,那么其他的命令仍继续执行 ②如果是语法错误,那么后续的命令直接终止执行 所以,我们在写完脚本后,先执行上面两个命令进行调试!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读