首页 > 系统相关 >shell-函数学习笔记二

shell-函数学习笔记二

时间:2022-11-05 17:11:09浏览次数:35  
标签:shell grep 函数 笔记 echo nginx return

shell函数的定义

# 方法一
function name
{
  command
  ...
  command
}

# 方法二
name() 
{
  command
  ...
  command
}

函数的调用

  • 直接使用函数名调用, 可以将函数名想象成shell的一条命令
  • 函数内部可以使用参数 $1 $2 ... $n
  • 调用函数: funcation_name $1 $2
# 监听nginx是否正常启动
this_pid=$$
ps -ef | grep nginx | grep -v grep | grep -v $this_pid &> /dev/null
if [ $?-eq 0 ]; then
  echo "nginx is running well"
else
  systemctl start nginx
fi

函数传参数

function name 
{
  echo $1;
  echo $2;
}

函数参数调用

  • funcname param1 param2

函数返回值

  • return return的返回值只能返回1-255的整数9;函数使用return返回值,通常只是用来供其他调用获取状态,因此通常仅返回0或1;0表示成功,1表示失败。
  • echo 使用echo可以返回任何字符串列表结果;通常用于返回数据,如一个字符串或列表值。
this_pid=$$
function is_nginx_running
{
  ps -ef | grep nginx | grep -v grep | grep -v $this_pid  &> /dev/null
  if [ $? -eq 0 ]; then
    return 0
  else
    return 1
  if 
}

is_nginx_running && echo "Nginx is running" || "Nginx is stop"

查看nginx的执行过程

  • sh -x arg.sh

全局变量

  • 不做特殊申明,在shell中的变量都是全局变量
  • 在大型脚本中函数慎用全局变量

局部变量

  • 定义变量,使用local关键字
  • 函数内和函数外存在同名变量,函数内部变量覆盖函数外部变量

标签:shell,grep,函数,笔记,echo,nginx,return
From: https://www.cnblogs.com/simple-record/p/16852979.html

相关文章

  • Thinkphp6笔记十九:加载自定义配置
    适用场景:加载自己的某些配置1.创建配置文件app/config/test.php或者app/admin/test.php<?phpreturn['rule'=>['alibaba'=>[],'ebay'=>[],......
  • 函数极限的性质
    函数极限的性质唯一性:若\(\lim\limits_{x\toa}f(x)=A,\\lim\limits_{x\toa}f(x)=B\),那么有\(A=B\).有界性:若\(\lim\limits_{x\toa}f(x)=A\)......
  • 学习笔记——元数据、blob类型的元素
    2022-11-04一、元数据1、元数据的说明:元数据就是指描述数据的数据,例如:数据有多少列、数据的列名称等。2、使用的代码:1ResultSetMetaDatametaData=rs.getMeta......
  • Python 函数
    1.1defx():foriinrange(3):print("python")print(x())1.2defx(name):foriinrange(3):print(f"python{name}。")print(x("ILOVE"))1.3defa(name,tim......
  • 《Unix/Linux系统编程》第十二章学习笔记 20201209戴骏
    第十二章、块设备I/O和缓冲区管理知识点归纳一、块设备I/O缓冲区I/O缓冲的基本原理非常简单。文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程试图读取(dev,blk......
  • 学习笔记-Windows 基础服务搭建
    Windows基础服务搭建磁盘管理例1新建两个10G的硬盘,名称为A-10-1、A-10-2,挂载到主机;新建镜像卷,使用所有空间,驱动器号为D.1.开始——管理工具——计算机......
  • Jmeter中beanshell常用语法总结
    BeanShell前置处理器、BeanShell取样器、BeanShell后置处理器,它们之间的区别:1、BeanShell前置处理器、BeanShell后置处理器比BeanShell取样器多一个重置解释器(ResetInt......
  • xshell连接虚拟机
    xshell连接虚拟机 1.提前打开虚拟机,xshell才能连上 2.打开xshell,点击会话框或菜单栏的新建图标创建新连接  3.新建会话框左侧的类别,选择连接,输入相关信息 ......
  • 学习笔记-组策略
    组策略组策略的概念组策略(英语:GroupPolicy)是微软WindowsNT家族操作系统的一个特性,它可以控制用户帐户和计算机帐户的工作环境。组策略提供了操作系统、应用程序和活......
  • 学习笔记-ACL
    ACL什么是ACLwindows系统中的ACL(AccessControlList),用来表示组与用户权限的列表。比如文件、注册表的权限都包括ACL,它用来表示哪些组与用户具有操作权限,其实主要......