linux更改语言脚本,Linux shell脚本入门——shell语言脚本【CentOS】

认识脚本

是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。脚本语言又被称为扩建的语言, 或者动态语言, 是一种编程语言, 用来控制软件应用程序, 脚本通常是以文本 (ASCⅡ) 保存, 只是在被调用时进行解释或者编译。

学习shell脚本的用途

对于一个合格的系统管理员来说,学习和掌握Shell编程是非常重要的。可以在很大程度上简化日常的维护工作,使得管理员从简单的重复劳动中解脱出来。

shell特点

1.shell是一个解释性语言(Python也是),不需要编译等过程,它是从脚本程序中一行一行的读取并执行命令;相对于其他语言来说较为简单。

2. shell是什么 shell(壳),又称之为命令解释器,是一种脚本语言,作用是当用户输入命令时,shell会将命令解析传递给内核,通过内核执行相应的动作。

c93b28f568dec8db8821222fd1f2edff.png

学习shell知识储备:

熟练使用vim编译器

熟悉Linux的相关命令和一些基础的服务

熟悉三个工具,grep,sed,awk

脚本的命名规则

其命名规则和标识符的定义相似

一般使用驼峰法命名,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,国内喜欢用下划线,例如name_file等

shell脚本的基本构成

1.新建一个脚本文件,文件的首行一般为制定shell解释器#!/bin/bash

2.可以写一些合适的注释,在访问脚本时,快速理解执行语句的意思

3.一般约定成俗的在命名脚本文件时为filename.sh

4.可执行语句:即实现程序的功能

5.脚本内注释:-用#实现单行的注释;-用<

shell脚本的执行:

切换到shell脚本所在的目录执行shell脚本

使用绝对路径的方式去执行bash shell脚本

直接使用bash 或sh 来执行bash shell脚本

在当前的shell环境中执行bash shell脚本:source或".“

执行方法之间的区别

方法一和方法二脚本需要执行权限,./script_name.sh或/path/script_name.sh

方法三:可以在脚本中不指定解释器,脚本可以没有执行权限

方法四:当前shell执行,方法1-3开启子shell。

除此外脚本语言还分包括:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,Python,Ruby等。

353ac2de25eb007fd29b52c0ed2dd34a.png

下面我们做一个脚本来看一下:

#!/bin/bash

# 获取要监控的本地服务器IP地址

IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'`

echo "IP地址:"$IP

# 获取cpu总核数

cpu_num=`grep -c "model name" /proc/cpuinfo`

echo "cpu总核数:"$cpu_num

cpu_user=`top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"`

echo "用户空间占用CPU百分比:"$cpu_user

# 获取内核空间占用CPU百分比

cpu_system=`top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"`

echo "内核空间占用CPU百分比:"$cpu_system

# 获取空闲CPU百分比

cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"`

echo "空闲CPU百分比:"$cpu_idle

#获取内存信息

# 获取物理内存总量

mem_total=`free | grep Mem | awk '{print $2}'`

echo "物理内存总量:"$mem_total

# 获取操作系统已使用内存总量

mem_sys_used=`free | grep Mem | awk '{print $3}'`

echo "已使用内存总量(操作系统):"$mem_sys_used

# 获取操作系统未使用内存总量

mem_sys_free=`free | grep Mem | awk '{print $4}'`

echo "剩余内存总量(操作系统):"$mem_sys_free

# 获取应用程序已使用的内存总量

mem_user_used=`free | sed -n 3p | awk '{print $3}'`

echo "已使用内存总量(应用程序):"$mem_user_used

# 获取应用程序未使用内存总量

mem_user_free=`free | sed -n 3p | awk '{print $4}'`

echo "剩余内存总量(应用程序):"$mem_user_free

# 获取交换分区总大小

mem_swap_total=`free | grep Swap | awk '{print $2}'`

echo "交换分区总大小:"$mem_swap_total

# 获取已使用交换分区大小

mem_swap_used=`free | grep Swap | awk '{print $3}'`

echo "已使用交换分区大小:"$mem_swap_used

# 获取剩余交换分区大小

mem_swap_free=`free | grep Swap | awk '{print $4}'`

echo "剩余交换分区大小:"$mem_swap_free

cc9e7d19e1854cda7aafef245f4b742f.png

保存然后我们执行一下

0fedad28184d57c87526419e2c7480ba.png

如果提示没有权限记得chmod修改下权限,需要x执行权限。

这样我们一个简单的小脚本就完成了

比如还可以用shell写一个

#!/bin/bash

echo "Hello World !"

执行后会提示 Hello World !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux可用的ftp,linuxunix下有很多可用的ftp服务器

一、ftp服务器简介linux/unix下有很多可用的ftp服务器&#xff0c;根据这些ftp服务器的可配置性大概可以分为3类&#xff1a;弱、中等、高。功能比较简单的ftp服务器软件有“ftpd”和“oftpd”。前者与ftp客户端工具“ftp”类似&#xff0c;只实现了标准的ftp功能&#xff0c;支…

linux视图版怎么输入命令,分享在Linux命令下操作MySQL视图实例代码

视图VIEW命令简介&#xff1a;VIEW视图就是存储下来的SELECT语句数据1。创建视图命令格式&#xff1a;创建[或更换][ALGORITHM {UNDEFINED | MERGE | 不是Temptable}][DEFINER {user | 当前用户 }][SQL SECURITY {DEFINER | INVOKER}]VIEW view_name [(column_list)]AS selec…

宝塔linux 做负载均衡,利用BT宝塔面板做网站多服务器负载均衡图文教程

对于我们做网站的来说&#xff0c;如果流量大了&#xff0c;一台服务器肯定是不够的&#xff0c;接下来要考虑很多方面&#xff0c;比如动静分离、比如数据库异步&#xff0c;比如负载均衡等等。因为我们很多新手站长都用的是BT宝塔面板&#xff0c;下面虾皮路就介绍一下利用BT…

c语言程序设计移动字母,C语言程序设计模拟试题二(含答案)

C语言程序设计模拟试题二(含答案)1、下列电子邮件地址中正确的是(其中□表示空格)A) Malin&http://www.doczj.com/doc/2969157fa26925c52cc5bfdc.html B) malinhttp://www.doczj.com/doc/2969157fa26925c52cc5bfdc.htmlC) Lin□Ma&http://www.doczj.com/doc/2969157fa2…

c语言字符串输出瘕b,c语言课件10tt函数(1)幻灯片资料(51页)-原创力文档

第 5 讲 ;第 8 章 函 数;引例 1;引例2b;m1cmpmax( a , b );cmpmax(int x , int y ){ int z; zx>y?x:y; return (z);};说 明;8.2 函数的调用;main( ){int i2,p; pf( i , i ); printf("%d\n",p);}int f(int a, int b){int c; if (a>b) c1; else if (a b) c0; el…

50行以上c语言程序代码,C语言非常简单的字符统计程序50行

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼该程序用于实现linux系统中wc命令的最简单模式wc 命令用于统计文件中字符信息。[xxlocalhost 1.5]$ wc 01.c 02.c 03.c15 23 131 01.c13 18 127 02.c14 20 128 03.c42 61 386 总用量使用c语言写出这种小程序。/** Name: count.c* T…

语音编码 c语言,语音编解码算法G.723.1在DSP - 嵌入式新闻 - 电子发烧友网

1 引言G.723.1是删组织于1996年推出的一种低码率的语音编码算法标准&#xff0c;也是目前该组织颁布的语音压缩标准中码率最低的一种标准。G.723.1主要用于对语音及其它多媒体声音信号的压缩&#xff0c;目前在一些数字音视频传输、高质量语音压缩等系统中都得到广泛应用。2 G.…

四川大学 设计专业 C语言必修,四川大学C语言2001年真题_跨考网

一、单项选择题(在每小题的四个备选答案中&#xff0c;选出一个正确的答案&#xff0c;并将其号码写在答题纸上。请注意注明题号。每小题1分&#xff0c;共计6分)1、‘\t’表示什么?①字符串常数②标识符③变量④字符常量答案&#xff1a;④2、对宏定义不正确的描述是哪一个?…

大整数乘法c语言数组,很大的数相乘怎么办?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include&nbsp #include&nbsp using&nbsp namespace&nbsp std;int&nbsp main(int&nbsp argc,&nbsp char&nbsp *argv[]){&nbsp &nbsp&nbsp &nbsp long&nbsp i,j, c,l…

血型遗传关系c语言编程,根据血型遗传关系,编程实现:○1.输入

满意答案df4dfw5e562017.05.28采纳率&#xff1a;51% 等级&#xff1a;6已帮助&#xff1a;106人//仅作参考#include "stdio.h"#include "conio.h"#include "stdlib.h"#include "string.h"int studentNum 0;#define MAXSTUDENT (1…

linux tcb,在Linux中从潜藏密码迁移至tcb怎么做?

潜藏密码作为Linux产品的既定事实标准已经有好多年了&#xff0c;md5密码的运用亦是如此。但是&#xff0c;运用传统的潜藏密码要领也有不足之处&#xff0c;甚至md5也不像以前那么安全了。潜藏密码文件的一个缺点就是&#xff0c;任意一个须要查询个别潜藏密码(如您的密码)的使…

android 通话结束广播,在Android中以编程方式结束通话

侃侃尔雅您无需成为系统应用程序。首先&#xff0c;com.android.internal.telephony在您的项目中创建包&#xff0c;并将其放入名为“ ITelephony.aidl” 的文件中&#xff1a;package com.android.internal.telephony; interface ITelephony { boolean endCall(); vo…

android url 快捷方式,Android向桌面添加快捷方式,使其指向特定的(URL)网页

/** 在桌面添加快捷方式* param icon 快捷方式图标* param name 快捷方式名称* param uri 快捷方式的intent Uri*/public void addShortcut(Parcelable icon, String name, Uri uri){Intent intentAddShortcut new Intent(ACTION_ADD_S…

带nfc 的 android 华为,华为手机NFC功能,原来这么好用,不会用真可惜几千块钱了...

华为手机NFC功能&#xff0c;原来这么好用&#xff0c;不会用真可惜几千块钱了2019-05-06 17:40:259点赞12收藏6评论华为手机在国内也是数一数二的了&#xff0c;那么用华为手机的小伙伴&#xff0c;怎么能错过华为手机中NFC的功能呢&#xff1f;下面就随小编一起来了解一下吧。…

android adb apk包名,ADB命令简单使用--查看包名、activity等

1、连接设备adb connect ip2、查看连接的设备adb devices3、安装/卸载Android 应用adb install packagesnameadb uninstall packagesname4、查看设备安装包名adb shell pm list packages5、查看安装包的路劲adb shell pm path packagename6、包pull到本地adb shell pull 包路径…

小米3升级android 6.0,可升级Android 6.0机型一览 小米手机亮了

前不久&#xff0c;Android M被谷歌正式确定为6.0系统&#xff0c;代号Marshmallow&#xff0c;预计年底前发布。而对于普通用户来说&#xff0c;最关心的就是自己的手机能不能升级。不过别着急&#xff0c;在此之前&#xff0c;我们不妨看看Android 6.0有哪些新功能。一、Andr…

android 開發人員模式,Android

選取月份2021 年 5 月 (9)2021 年 4 月 (11)2021 年 3 月 (7)2021 年 2 月 (7)2021 年 1 月 (7)2020 年 12 月 (10)2020 年 11 月 (8)2020 年 10 月 (8)2020 年 9 月 (6)2020 年 8 月 (7)2020 年 7 月 (12)2020 年 6 月 (10)2020 年 5 月 (14)2020 年 4 月 (10)2…

安装华为鸿蒙,魅族选择与鸿蒙合作,华为这下要成了?

嚯&#xff0c;咱们的魅族可真争气&#xff01;眼看华为6月2日的大新闻箭在弦上蓄势待发&#xff0c;一句“你好&#xff0c;鸿蒙”的问候&#xff0c;瞬间引爆了微博&#xff1a;具体有多热闹&#xff0c;你们瞧瞧这转发和点赞&#xff1a;众所周知&#xff0c;华为鸿蒙自从公…

浏览器兼容性怎么设置HTML,ie10浏览器中兼容性设置在哪里

之前ie浏览器一直被诟病的因素之一就是兼容性&#xff0c;不过ie10浏览器可以对兼容性进行设置&#xff0c;使得在兼容性视图中显示所有网站&#xff0c;具体怎么设置呢。下面由学习啦小编为你整理了ie10浏览器兼容性设置在哪里的解决方法&#xff0c;希望对你有帮助!ie10兼容性…

如何查询高考成绩2021年的成绩排位,2020年高考成绩排名怎么查,高考成绩排名是怎么排的...

一、2020年高考成绩排名怎么查考生查询自己的排名&#xff0c;首先要在本省教育信息网查询自己的高考分数&#xff0c;再查找该分数对应高考年份的一分一段表&#xff0c;在表中可以查到自己的名次&#xff0c;注意不要搞错文理。二、什么是“一分一段表”它显示每一个分数全省…