热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux基础之shell函数(长期更新函数)

function函数名(){函数体;}**跨脚本调用函数**source写了函数的脚本然后就可以在当前环境调用了local变量名意义同局部变量return

function

函数名 ()
{函数体;}**跨脚本调用函数**
source 写了函数的脚本
然后就可以在当前环境调用了
local 变量名 意义同局部变量
return 结束函数返回结果
$?可查看函数返回状态
function(){echo $[$1+$2]
}
function 10 20 #传参

调用函数直接,写函数名
小技巧 系统路径/etc/init.d/funcation 文件里带有大量系统函数
action 函数可实现以下功能
在这里插入图片描述


递归调用

不停调用自己 linux中会不停开启子shell 递归函数一定要有结束条件
#轻松破坏linux
func () {let i++echo $ifunc
}

函数库(写一些功能)

#!/bin/bash
#
#********************************************************************
#Author: YiMingLANG
#QQ: 1428040096
#Date: 2021-10-4
#FileName: founcations
#Copyright (C): 2021 All rights reserved
#********************************************************************
COLOR="echo -e \E[1;32m"
END="\E[0m"
NUMBER="10" disable_firewalld(){${COLOR}********** stop the firewalld and close the firewalld *********${END}FIREWALLD_STATUS=`systemctl status firewalld`if echo ${FIREWALLD_STATUS} |grep -o "active (running)"; thensystemctl stop firewalld && systemctl disable firewalld &>/dev/null${COLOR}********** firewalld status *********${END}FIREWALLD_STATUS="firewalld is dead"echo ${FIREWALLD_STATUS}else${COLOR}********** firewalld status *********${END}FIREWALLD_STATUS="firewalld is dead"echo ${FIREWALLD_STATUS}fi${COLOR}********** firewalld over *********${END}
}disable_selinux(){sed -ir 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/configsetenforce 0echo "目前selinux的状态为`getenforce`"
}network_interface(){sed -r -i.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ ifnames=0"@' /etc/default/grub#此处替换配置文件(错误删除,需要补充)SYSINFO=`cat /proc/version`if echo ${SYSINFO} | grep -oE 'centos' &> /dev/null ;then#centosgrub2-mkconfig -o /boot/grub2/grub.cfgecho "centos 重启后生效"elif echo ${SYSINFO} | grep -oE 'ubuntu' &> /dev/null;then#ubuntugrub-mkconfig -o /boot/grub/grub.cfgecho "ubuntu 重启后生效"
}infor_system(){RED="\E[1;31m"GREEN="echo -e \E[1;32m"END="\E[0m"$GREEN----------------------Host systeminfo--------------------$ENDecho -e "HOSTNAME: $RED`hostname`$END"#echo -e "IPADDR: $RED` ifconfig eth0|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' |head -n1`$END"echo -e "IPADDR: $RED` hostname -I`$END"echo -e "OSVERSION: $RED`cat /etc/redhat-release`$END"echo -e "KERNEL: $RED`uname -r`$END"echo -e "CPU: $RED`lscpu|grep 'Model name'|tr -s ' '|cut -d : -f2`$END"echo -e "MEMORY: $RED`free -h|grep Mem|tr -s ' ' : |cut -d : -f2`$END"echo -e "DISK: $RED`lsblk |grep '^sd' |tr -s ' ' |cut -d " " -f4`$END"$GREEN---------------------------------------------------------$END
}

回到主目录

首页
在这里插入图片描述


推荐阅读
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 深入理解Java SE 8新特性:Lambda表达式与函数式编程
    本文作为‘Java SE 8新特性概览’系列的一部分,将详细探讨Lambda表达式。通过多种示例,我们将展示Lambda表达式的不同应用场景,并解释编译器如何处理这些表达式。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文详细介绍了Linux系统中信号量的相关函数,包括sem_init、sem_wait、sem_post和sem_destroy,解释了它们的功能和使用方法,并提供了示例代码。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
  • 在Linux系统中,许多应用程序以源代码的形式提供,这给安装带来了挑战。本文旨在介绍一种简化源码软件安装流程的方法,帮助用户更加轻松地完成安装。 ... [详细]
  • 本文详细介绍了如何利用 Bootstrap Table 实现数据展示与操作,包括数据加载、表格配置及前后端交互等关键步骤。 ... [详细]
author-avatar
多伦多打折优惠信息_205
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有