Java教程

shell编程基础命令解释

本文主要是介绍shell编程基础命令解释,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

shell 编程

一、shell概括

1.先来简述一下shell的用途

1.shell可以用来自动化系统的初始化工作(update,软件的安装,时区的设置,安全策略...)

2.自动化批量软件部署程序(LAMP/LNMP/Tmcat/LVS/Nginx)

3.管理应用程序(KVM,集群管理)

4.日志分析处理程序(grep/awk)

5.自动化备份恢复程序(mysql完全备份/增量)

6.自动化管理程序(批量远程修改密码,软件升级,配置更新)

7.自动化信息采集及监控程序(收集系统/应用状态信息,CPU,Mem,disk,net,apache,mysql)

2.shell的作用

  • 解释执行用户输入的命令
  • 输入一条,shell解释一条
  • 接盘输入命令,linux就给与响应的方式,称交互

3.shell概念

shell是一块包裹着系统核心的壳,处于操作系统的最外层,与用户之间对话,把用户输入的操作系统,然后处理操作系统的输出结结果,输出到屏幕给与用户看到结果

从我们登录linux,所有操作都是交给shell解释

4.什么是shell脚本

当命令或者程序语句写在文件中,我们执行文件,读取其中的带代码,这个程序文件就被称为shell脚本。

在shell脚本总定义多条linux以及循环控制语句,而linux命令一次性执行完毕,执行脚本文件的方式称为非交互式。

  • 在window 中.bat 批处理脚本
  • 在linux 中 .sh 脚本文件

shebang

#! /bin/bash       #shebang
  • 以 #!/bin/sh 开头的文件,程序在执行的时候会要调用/bin/sh,也就是bash解释器
  • 以#! /usr/bin/python 开头的文件,代表指定python解释器去执行
  • 以 #!/usr/bin/env 解释器名称,是一种在不同平台上都能正确找到解释器的方法
./执行脚本   需要chmod +x 权限
sh 文件名

脚本规范

  • 在写shell脚本中,#后面写的是注释内容,给开发者和用户看的
  • 注释可以单独写一行,也可以跟在命令后面
  • 尽量报错爱写注释习惯,便于回顾代码含义,尽量使用英文

执行shell脚本方式

  • bash 文件名.sh
  • 使用绝对相对路径 执行脚本,需要文件有x执行文件
  • source 文件名.sh 或者 . 文件名.sh
  • 少见用法, sh<文件名.sh

shell和运维关系

shell脚本语言很适合处理纯文本类型数据,且linux的哲学思想就是一切皆文件,如日志、配置文件、文本、网页文件、大多数都是纯文本类型,因此shell可以方便的进行文本处理,例如强大的文本三剑客(grep、sed、awk)

二、走进shell

1.字符类型

shell语言定义的变量,数据类型默认字符串类型

类型 介绍
弱类型语言 在定义变量的时候,不用主动声明改类型
强类型语言 需要指定变量类型,必须对应的上负责报错

centos7支持shell 种类

 /bin/sh
 /bin/bash
 /sbin/nologin
 /usr/bin/sh
 /usr/bin/bash
 /usr/sbin/nologin
 /bin/tcsh
 /bin/csh
 /bin/dash

其他脚本语言

运维必会语言:shell、python

因为大量的linux运维工具由python开发的。

变量的作用域

  • 单引号变量,不识别特殊用法
  • 双引号变量,能够识别特殊用法

注意:1.每次调用bash /sh这样解释器去执行脚本, 都会开启一个子shell,因此不保留当前shell的变量,通过pstree命令检查进程树

2.调用source或者. 在当前shelll环境加载脚本,因此保留

在linux反引号`

环境变量

环境变量一般指export,用于定义shell的运行环境,保证shell命令正确执行,shell通过环境变量确定登录用户莫、PATH路径、稳健性等能找出linux中各种变量。

  • 每个用户都有自己的环境变量配置文件,~/.bash_profile ~/.bashhrc ,以个人配置文件优先加载变量,生效。,
  • 当你需要给所有用户都使用某个变量,

检查系统环境变量的命令

  • set 输出所有变量,包括全局变量、局部变量
  • env,只显示全局变量
  • declare,输出所有的变量,如同set
  • export,显示和设置环境变量值

撤销环境变量

  • unset 变量,删除变量或函数
这篇关于shell编程基础命令解释的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!