博客
关于我
linux--shell基础
阅读量:583 次
发布时间:2019-03-11

本文共 1776 字,大约阅读时间需要 5 分钟。

shell脚本

脚本语言简介

脚本语言相对于编译型语言而言,书写流程——编译——链接——运行的过程进行缩减。与编译型语言如C、C++、Java、C#相比,脚本语言的处理底层对象更为简单。脚本语言的运行通常是解释性语言,通过解释器将脚本程序读取并转换为内部形式进行执行。解释器本身通常也是一个编译型程序。

shell脚本

在Linux和Unix系统中,shell脚本是一种非常重要的脚本语言,在*nix领域应用广泛。通过shell脚本语言,可以以简洁的方式实现许多复杂的操作,这使得使用shell脚本成为处理文件和目录等事务的首选工具。

shell脚本优势

  • 语法和结构简单易学,适合快速上手
  • 学习和使用成本低,适合日常操作
  • 通常采用解释方式运行,无需编译
  • 程序开发效率优于运行效率,脚本语言的执行效率一般不如编译型语言

编写自己的第一个脚本

shell脚本的基本元素需要理解。shell脚本的 起始符 #! 或称为sha-bang符号,用于指定解释器路径。随后通常跟着的是解释器的位置。在shell脚本中,基本命令如sed和awk是常用的工具。命令格式通常包括命令名称、选项和参数。

脚本示例

以下是一个简单的Hello World示例:
```bash
#!/bin/bash
echo "Hello World"
exit 0
```

执行脚本

  • 赋予权限后直接运行:`chmod u+x filename.sh`,然后运行`./filename.sh`
  • 通过bash或sh执行:`bash filename.sh` 或 `sh filename.sh`
  • 通过source或.命令运行:`source filename.sh` 或 `./ filename.sh`

练习

案例1:制作一个程序菜单

以下是一个简单的菜单脚本示例:
```bash
#!/bin/bash
clear
echo "*****************************************"
echo "* \033[1;31m\t\tMenu\t\t\033[0m *"
echo "*****************************************"
echo "1.显示系统CPU信息和系统负载"
echo "2.显示系统内存信息和交换空间"
echo "3.显示文件系统挂载情况"
echo "4.显示网络接口信息"
echo "5.退出"

案例2:统计系统信息

以下是一个用于收集系统基本信息的脚本示例:
```bash
#!/bin/bash
echo "……………………………………"
echo "显示CPU信息:"
echo $(cat /proc/cpuinfo | grep model name)
echo "……………………………………"
echo "系统负载!"
echo $(uptime)
echo "……………………………………"
echo "显示交换空间:"
echo $(free | grep wap)
echo "……………………………………"
echo "显示文件系统挂载情况:"
echo $(df -hT | grep 'boot')
echo "……………………………………"
echo "显示网络接口信息:"
echo $(ip addr show | grep inet)

案例3:环境变量管理

以下是一个用于管理环境变量的脚本示例:
```bash
#!/bin/bash
echo "用户信息(用户ID):$USER"
echo "用户ID(UID):$UID"
echo "用户主目录(HOME):$HOME

案例4:数学计算示例

以下是一个简单的数学计算脚本示例:
```bash
#!/bin/bash
var1=10
var2=3.14159265
result=$(bc <<< "scale=10; $var1 * $var2")
echo "计算结果:$result"

注意事项

  • 脚本必须以`#!/bin/bash`开头,并确保解释器路径正确
  • 代码缩进使用4个空格,保持一致性
  • 加上适当的注释以提高可读性
  • 命名要规范,变量名全大写,函数名全小写
  • 遇到复杂操作时,先在开发环境测试

转载地址:http://dpztz.baihongyu.com/

你可能感兴趣的文章
Node.js基于Express框架搭建一个简单的注册登录Web功能
查看>>
Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
查看>>
Node.js安装及环境配置之Windows篇
查看>>
Node.js安装和入门 - 2行代码让你能够启动一个Server
查看>>
node.js安装方法
查看>>
Node.js官网无法正常访问时安装NodeJS的方法
查看>>
Node.js的交互式解释器(REPL)
查看>>
Node.js的循环与异步问题
查看>>
Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
查看>>
nodejs + socket.io 同时使用http 和 https
查看>>
NodeJS @kubernetes/client-node连接到kubernetes集群的方法
查看>>
Nodejs express 获取url参数,post参数的三种方式
查看>>
nodejs http小爬虫
查看>>
nodejs libararies
查看>>
nodejs npm常用命令
查看>>
nodejs npm常用命令
查看>>
Nodejs process.nextTick() 使用详解
查看>>
nodejs 创建HTTP服务器详解
查看>>
nodejs 发起 GET 请求示例和 POST 请求示例
查看>>
NodeJS 导入导出模块的方法( 代码演示 )
查看>>