Linux shell脚本编程

编程语言分类:根据运行方式

编译运行:源代码-->编译器(编译) -->程序文件

解释运行:源代码-->运行时启动解释器,由解释器边解释边运行

根据其编程过程中功能的实现是调用库还是调用外部的程序文件

shell脚本编程:利用系统上的命令及其编程组件进行编程

完整编程: 利用库或编程组件进行编程

编程模式:过程式编程语言,面向对象的编程语言

过程式:以指令为中心来组织代码,数据是服务于代码

对象式:以数据为中心来组织代码,围绕数据来组织指令

类(class):实例化对象,,method  代表:java,c++,Python

shell脚本编程:过程式编程,解释运行,依赖于外部程序文件运行

如何写shell脚本:

脚本文件的第一行,顶格:给出shebang,解释器路径,用于指明解释执行当前脚本的解释器程序

常见的解释器:

#!/bin/bash

#!/usr/bin/python

#!/usr/bin/perl

文本编程器  :  nano

行编辑器:sed

全屏幕编辑器:nano,vi,vim

shell脚本是什么?

命令的堆积

但很多命令不具有幂等性,需要用程序逻辑来判断运行条件是否满足,以避免其运行中发生错误

运行脚本:

1. 赋予执行权限,并直接运行此程序

chmod +x   SCRIPT_FILE

./SCRIPT_FILE

2.直接运行解释器,将脚本以命令行参数传递给解释器程序

bash  SCRIPT_FILE

注意:

脚本中的空白行会被解释器忽略

脚本中,除了shebang,余下所有以#开头的行,都会被视作注释行而被忽略,即为注释行

shell脚本的运行是通过运行一个子shell进程实现的

bash的配置文件:

两类:

profile类:为交互式登录的shell进程提供配置

bashrc类:为非交互式登录的shell进程提供配置

登录类型:

交互式登录shell进程:

直接通过某终端输入账号密码后登录打开的shell进程

使用su命令,su - username 或者使用su -l username 执行的登录切换

非 交互式登录shell进程:

su username 执行的登录切换

图形界面下打开的终端

运行脚本

profile 类:

全局:对所有用户都生效

/etc/profile

/etc/profile.d/*.sh

用户个人:仅对当前用户有效:

~/.bash_profile

功用:

1.用于定义环境变量

2.运行命令或脚本

bashrc类:

全局:

/etc/bashrc

用户个人:

~/.bashrc

功用:

1.用来定义本地变量

2.定义命令别名

交互式登录shell进程读取文件顺序

/etc/profile -->/etc/profile.d/* -->~/.bash_profile -->~/.bashrc -->/etc/bashrc

非互式登录shell进程读取文件顺序

~/.bashrc -->/etc/bashrc -->/etc/profile.d/*        (脚本取决去这些配置信息)

命令行中定义的特性,例如变量和别名 作用域为当前shell进程的生命周期

配置文件中定义的特性,只对随后新启动的shell进程有效

让通过配置文件定义的特性立即生效:

1. 通过命令行重新定义一次

2.让shell进程重新读取配置文件

source CONF_FILE

. CONF_FILE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值