首页 > 系统相关 >linux Shell 命令行-07-func 函数

linux Shell 命令行-07-func 函数

时间:2024-03-13 10:47:15浏览次数:23  
标签:Shell 函数 命令行 echo sh func linux

拓展阅读

linux Shell 命令行-00-intro 入门介绍

linux Shell 命令行-02-var 变量

linux Shell 命令行-03-array 数组

linux Shell 命令行-04-operator 操作符

linux Shell 命令行-05-test 验证是否符合条件

linux Shell 命令行-06-flow control 流程控制

linux Shell 命令行-07-func 函数

linux Shell 命令行-08-file include 文件包含

linux Shell 命令行-09-redirect 重定向

函数

[ function ] 函数名 [()]

{

    动作;

    [返回值;]

}

示例

#!/bin/sh

# 函数演示

firstFunc() {
    echo "这是我的第一个 Shell 函数。"
}

echo "函数开始"
firstFunc
echo "函数结束"

运行

houbinbindeMacBook-Pro:shell houbinbin$ vi function.sh
houbinbindeMacBook-Pro:shell houbinbin$ chmod +x function.sh
houbinbindeMacBook-Pro:shell houbinbin$ ./function.sh
函数开始
这是我的第一个 Shell 函数。
函数结束

带返回值的函数

#!/bin/sh


# 带返回值的函数

funcWithReturnVal() {
    echo "输入第一个数字: "
    read firstNum
    echo "输入第二个数字: "
    read secondNum
    return $(($firstNum+$secondNum))
}

echo "带返回值的函数开始:"
funcWithReturnVal
returnVal=$?
echo "结果: $returnVal"

运行

houbinbindeMacBook-Pro:shell houbinbin$ ./funcWithReturnVal.sh
带返回值的函数开始:
输入第一个数字:
1
输入第二个数字:
2
结果: 3

带参数的函数

#!/bin/sh

# 带参数的函数

hasParam() {
    echo "所有参数为 $*"

    if [ $# -gt 0 ]
    then
    echo "有参数"
    return 1
    else
    echo "没有参数"
    return 0
    fi
}

hasParam 1 2 3

运行

houbinbindeMacBook-Pro:shell houbinbin$ vi funcWithParam.sh
houbinbindeMacBook-Pro:shell houbinbin$ chmod +x funcWithParam.sh
houbinbindeMacBook-Pro:shell houbinbin$ ./funcWithParam.sh
所有参数为 1 2 3
有参数

使用$n获取参数值,当 n >= 10 时,使用 ${n}

本文由博客一文多发平台 OpenWrite 发布!

标签:Shell,函数,命令行,echo,sh,func,linux
From: https://www.cnblogs.com/houbbBlogs/p/18070086

相关文章

  • linux 程序状态查询脚本
    linux程序状态查询脚本#!/bin/bashsource/etc/profileDOCKERCOMPOSE=/usr/local/bin/docker-composeSHELL_FOLDER=$(cd"$(dirname"$0")";pwd)action=${1-}#workdir=$PWD#cd$workdir#docker-composepsfunctionGetApollo(){echo""......
  • linux文件管理与用户管理
    linux文件管理与用户管理1、查看文件内容1、1回顾之前的命令cat命令tac命令head命令tail命令扩展:tail-f动态查看一个文件的内容1、2more命令分屏显示文件基本语法:#more文件名称特别注意:more命令在加载文件时并不是一点一点进行加载,而是打开文件就已经把文件内容......
  • linux文件管理(补充)
    linux文件管理vim编辑器vi概述vi编辑器他是linux和unix系统上最基本的文本编辑器,类似于windows系统下的记事本编辑器vim编辑器vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用命令模式使用vim编辑器时,默认处于命令模式。在该模式下可以移动光标位置,可......
  • 如何在 Linux 中禁用 IPv6?
    IPv6(InternetProtocolversion6)是互联网上的下一代网络协议,它的部署旨在解决IPv4地址枯竭的问题,并提供更多的地址空间以支持未来的互联网增长。然而,在某些情况下,禁用IPv6可能是必要的,例如在特定网络环境下IPv6不可用或不安全时。本文将介绍在Linux系统中如何禁用IPv6的方......
  • Linux内存监控的12种方法全面掌握系统资源使用情况
    监控系统的内存使用情况是系统管理和性能优化的关键部分之一。在Linux环境下,有多种方法来实现对内存的监控和管理。本文将介绍12种常用的方法,涵盖了从基本的命令行工具到更高级的监控工具的使用,帮助您全面掌握系统的资源使用情况。1.free命令free 命令用于显示系统内......
  • 【linux】HTTP资源概念;URL,URI,MIME,静态,动态,伪静态核心名词知识全面讲解
    鱼弦:公众号:红尘灯塔,CSDN内容合伙人、CSDN新星导师、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)HTTP资源概念:HTTP资源是通过HTTP协议访问的可识别和可获取的信息。它可以是文本、图像、视频、音频、网页......
  • 在Linux中,访问一个站点5xx了,如何定位问题?
    当访问一个托管在Linux服务器上的站点时,如果收到5xx系列的HTTP状态码(如500InternalServerError、502BadGateway、503ServiceUnavailable等),这意味着服务器在处理请求时遇到了问题。定位这类问题通常需要遵循以下步骤:查看服务器错误日志对于Web服务器,如Apache或Nginx,首......
  • 在Linux中,ansible可以解决哪些问题?
    Ansible是一款强大的IT自动化工具,主要用于解决运维过程中面临的诸多挑战,特别适合批量管理和配置大量服务器。以下是Ansible可以帮助解决的一些典型问题:配置管理和标准化:Ansible能够通过Playbook(剧本)的形式编写和组织配置任务,确保在多个服务器上实现一致的系统配置,包括但不限......
  • 在Linux中,如何查看磁盘详细使用情况?
    在Linux系统中,查看磁盘详细使用情况主要有以下几个命令和工具:1.df命令df(diskfree)命令用于查看文件系统的总空间、已使用空间、剩余空间以及使用率等信息。以下是一些基本用法:#显示所有文件系统及其磁盘使用情况,以人类可读的格式(KB、MB、GB等)df-h#显示指定文件系统......
  • 在Linux中,如何理解Tcp/ip协议三次握手?
    在Linux(以及其他支持TCP/IP协议的操作系统)中,TCP(TransmissionControlProtocol,传输控制协议)为了建立一个可靠的数据传输连接,采用了三次握手(Three-wayHandshake)的过程来初始化连接。以下是TCP三次握手的详细步骤和解释:第一次握手(SYN):客户端(Client)想要与服务器(Server)建立连接时......