awk如何调用带参数的自定义shell函数

awk如何调用带参数的自定义shell函数,第1张

简单

function add1()

{

result=`expr $1 + 1`

echo $result

}

export -f add1

awk 'BEGIN{p=3;"add1 "p|getline result;print result }'

shell声明一个函数,只需要键入以下语法:

function_name () {

list of commands}

shell之 函数(Function)

函数在脚本中出现的次序是任意的,会按照脚本调用次序依次执行函数。shell函数通过return返回函数退出状态,0表示无错误,1表示有错误,所以shell函数中的返回值需要使用echo标准输出或者全局变量。

1、函数传入参数

2、函数通过全局变量返回值

3、函数通过echo返回值

4、函数相互调用

5、一个函数调用多个函数

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

小生对Shell函数和ShellExecute函数的使用方法、联系、区别不甚了解,哪位大侠能江湖救急一下,小生这厢有礼了!由其是联系、区别要讲清楚。

解析:

楼主,vb之中只有shell函数,没有shellexecute函数,该函数是vc的函数

vb的shell函数用法:

功能:执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

语法:Shell(pathname[,windowstyle])

Shell 函数的语法含有下面这些命名参数:

pathname 必要参数。Variant (String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。

Windowstyle 可选参数。Variant (Integer),表示在程序运行时窗口的样式。如果 windowstyle 省略,则程序是以具有焦点的最小化窗口来执行的。

shellExecute函数:

HINSTANCE ShellExecute(

HWND hwnd,

LPCTSTR lpOperation,

LPCTSTR lpFile,

LPCTSTR lpParameters,

LPCTSTR lpDirectory,

INT nShowCmd

);其用法较为复杂,但是功能更加强大。

ShellExecute的功能是运行一个外部程序

(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),

并对外部程序有一定的控制。shell函数在这个方面先相对较弱,

在大多数情况下ShellExecute是更多的被使用的,

VB语法里面加上括号是函数调用(也就是说需要返回值)的语法,调用方法(也就是不需要返回值)的语法是不加括号的

Shell para1,para2,para3,

这样子

如果一定想加上括号可以用Call语句

Call Shell(Path)

fun(){

echo "$1"

}

fun "abc"

$1就代表了你传进去的第一个参数,$2当然就是第二个参数,fun就是你定义的函数名,后面的“abc”就是实参,即你说的变量,运行之后就会显示abc

Shell

'自带的

ShellExecute

'API

'声明

Private

Declare

Function

ShellExecute

Lib

"shell32dll"

Alias

"ShellExecuteA"

(ByVal

hwnd

As

Long,

ByVal

lpOperation

As

String,

ByVal

lpFile

As

String,

ByVal

lpParameters

As

String,

ByVal

lpDirectory

As

String,

ByVal

nShowCmd

As

Long)

As

Long

hwnd

Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框

lpOperation

String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它

lpFile

String,想用关联程序打印或打开一个程序名或文件名

lpParameters

String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数

lpDirectory

String,想使用的完整路径

nShowCmd

Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数

WinExeC

'API

'声明

Private

Declare

Function

WinExec

Lib

"kernel32"

Alias

"WinExec"

(ByVal

lpCmdLine

As

String,

ByVal

nCmdShow

As

Long)

As

Long

lpCmdLine

String,包含要执行的命令行

nCmdShow

Long,定义了以怎样的形式启动程序的常数值。参考ShowWindow函数的nCmdShow参数

#!/bin/bash

test(){

        a=1

}

a=100

echo "out of function a="$a

echo "###################"

test

echo "in the function a="$a

以上就是关于awk如何调用带参数的自定义shell函数全部的内容,包括:awk如何调用带参数的自定义shell函数、shell 中怎么声明一个函数、VB中Shell函数和ShellExecute函数的使用方法、联系、区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10113141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存