shell接收函数返回值Word文档格式.docx

上传人:b****5 文档编号:18741484 上传时间:2022-12-31 格式:DOCX 页数:5 大小:16.74KB
下载 相关 举报
shell接收函数返回值Word文档格式.docx_第1页
第1页 / 共5页
shell接收函数返回值Word文档格式.docx_第2页
第2页 / 共5页
shell接收函数返回值Word文档格式.docx_第3页
第3页 / 共5页
shell接收函数返回值Word文档格式.docx_第4页
第4页 / 共5页
shell接收函数返回值Word文档格式.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

shell接收函数返回值Word文档格式.docx

《shell接收函数返回值Word文档格式.docx》由会员分享,可在线阅读,更多相关《shell接收函数返回值Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。

shell接收函数返回值Word文档格式.docx

  个新的命令,它是命令,因此各个输入参数直接用空格分隔。

一次,命令里面获得参数方法可以通过:

$0…$n得到。

$0代表函数本身。

  3、函数返回值,只能通过$?

系统变量获得,直接通过=,获得是空值。

其实,我们按照上面一条理解,知道函数是一个命令,在shell获得命令返回值,都需要通过$?

获得。

  二、函数作用域,变量作用范围

  先我们看一个实例:

  我们一起来分析下上面这个实例,可以得到如下结论:

  1、定义函数可以与系统命令相同,说明shell搜索命令时候,首先会在当前的shell文件定义好的地方查找,找到直接执行。

  2、需要获得函数值:

通过$?

获得

  3、如果需要传出其它类型函数值,可以在函数调用之前,定义变量(这个就是全局变量)。

在函数内部就可以直接修改,然后在执行函数就可以读出修改过的值。

  4、如果需要定义自己变量,可以在函数中定义:

local变量=值,这时变量就是内部变量,它的修改,不会影响函数外部相同变量的值。

  这些,是我在工作中,对linux,shell函数使用一些经验总结,有没有提到地方,欢迎交流!

篇三:

shell中的函数

  Linux命令、xx器、shell编程实例大全----第十九章函数

  1.函数简介......................................................................................................................................1

  .return返回上一个命令的退出状态或是给定值.............................................................1

  .exit退出整个脚本............................................................................................................1

  .函数中使用break语句中断函数执行............................................................................1

  .declare-f显示定义的函数清单。

................................................................................1

  .exprot-f将函数导出给shell.........................................................................................2

  .unset-f从shell内存中删除函数。

................................................................................2

  2.Shell中的调用顺序.....................................................................................................................2

  3.函数的传参..................................................................................................................................3

  4.函数的返回值..............................................................................................................................4

  5.将函数载入到内存........................................................................................................................5

  6.删除函数......................................................................................................................................7

  7.函数的作用域..............................................................................................................................7

  8.最简单的递归调用........................................................................................................................7

  1.函数简介

  【function】函数名

  {

  命令表

  【Return】

  }

  .return返回上一个命令的退出状态或是给定值

  .exit退出整个脚本

  root@ubuntu-vm:

/home/20XX-12-15#catexit.sh

  #!

/bin/bash

  functiontest

  echo"

functioncalling...!

"

  exit

callfunctionstart"

  test

callfunctionend"

/home/20XX-12-15#./exit.sh

  callfunctionstart

  functioncalling...!

/home/20XX-12-15#

  .函数中使用break语句中断函数执行

/home/20XX-12-15#declare-f

  xxmand_not_found_handle

  if[-x/usr/lib/xxmand-not-found];

then

  /usr/bin/python/usr/lib/xxmand-not-found--"

$1"

;

  return$?

  else

  if[-x/usr/share/xxmand-not-found/xxmand-not-found];

  /usr/bin/python/usr/share/xxmand-not-found/xxmand-not-found--"

  printf"

%s:

xxmandnotfound\n"

"

1>

&

2;

  return127;

  fi;

  fi

/home/20XX-12-15#declare-F

  declare-fxxmand_not_found_handle

  #-x判断文件存在且可执行

  .exprot-f将函数导出给shell

  2.Shell中的调用顺序

  shell在执行一个别名、函数、内部命令、基于磁盘的可执行文件(执行顺序也是如此)

/home/20XX-12-15#functionmydate

  >

{

echo"

start..."

date

end..."

}

/home/20XX-12-15#mydate

  start...

  MonDec1519:

16:

29CST20XX

  end...

  mydate

  date;

  3.函数的传参

  实例1.

  root@ubuntu-vm:

/home/20XX-12-15#catargs.sh#!

/bin/bash

  #function:

functionargsment

  functionargss

  echo$1$2$3

  echo$a$b$c

  return

  a=111

  b=222

  c=333

  argssabc

/home/20XX-12-15#./args.sh

  abc

  111222333

  实例2.

/home/20XX-12-15#catverif.sh#!

  functionverif

  if[$1="

root"

]&

[$2="

123456"

];

then

successlogin!

failedlogin!

  return

  verif"

roota"

***************"

/home/20XX-12-15#./verif.sh

  failedlogin!

  ***************

  successlogin!

  实例3:

/home/20XX-12-15#chmodu+xstrcat.shroot@ubuntu-vm:

/home/20XX-12-15#catstrcat.sh#!

  functionmystrcat

  echo$1$2

inputonestring:

  readSTR1

inputotheronestring:

  readSTR2

strcat:

  mystrcat$STR1$STR2

/home/20XX-12-15#./strcat.sh

  inputonestring:

  zhang

  inputotheronestring:

  san

  strcat:

  zhangsan

  4.函数的返回值

  函数的返回值在没有指定的情况下,保存在$?

中。

root@ubuntu-vm:

/home/20XX-12-15#catreverif.sh#!

  if[$#-ne2];

  return1

-a$2="

  return2

  if[$1!

="

  return3

-a$2!

  return4

  return5

  verif$1$2

  case$?

in

  1)echo"

参数个数不对"

  2)echo"

验证通过"

  3)echo"

用户名不对"

  4)echo"

密码不对"

  5)echo"

用户名与密码不对"

  esac

/home/20XX-12-15#./reverif.sh参数个数不对

/home/20XX-12-15#./reverif.shroot123456验证通过

/home/20XX-12-15#./reverif.shroot12345密码不对

/home/20XX-12-15#./reverif.shroo123456用户名不对

/home/20XX-12-15#./reverif.shafjdsjlafds用户名与密码不对

  5.将函数载入到内存

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1