
#!/bin/sh
myFunc()
{
echo "$1"
}
var="$1"
myFunc "$var"
---------------
脚本名为testsh,执行脚本 /testsh test
最后就会在屏幕上打印出字符串 test
说明:脚本主体中用$1取脚本的第一个参数,函数中用$1取函数的第一个参数。第二个参数用$2。依此类推,直到$9。
ShellExecute(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd);
lpParameters的地方就是传递的参数。
接收的应用程序如果是C++开发的话,有一个
int WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
其中lpCmdLine就是参数。
bat文件貌似不支持直接传参数的
可以这样用:
将bat中的参数用 $参数 代替
然后VB先读入该bat文件,然后文本替换参数字符串,然后将全部内容写回bat
再调用即可。
或是试下这个
Private Sub Command1_Click()Dim bat
Set ws = CreateObject("wscriptshell")
//参数之间需要带空格
bat = "C:\Users\fengshixu\Desktop\batbat " + Text1Text + " " + Text2Text
wsrun bat, 1, True
End Sub
#下面的代码是对于从oracle的sqlplus返回变量值给shell的例子
output=`sqlplus -s unitele/lemontea << EOF
set heading off feedback off verify off
drop function test_get_param_value_p;
CREATE OR REPLACE function test_get_param_value_p
(
is_citycode in varchar2
)
return varchar2
is
on_value varchar2(100);
begin
on_value :='100000';
dbms_outputput_line(on_value);
dbms_outputput_line(is_citycode);
return on_value;
end;
/
select test_get_param_value_p('501') from dual;
exit
EOF
`
echo "Oracle的输出变量值:"$output
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
存储过程 myproc(in_num in number,out_num out number)
sql脚本模板
先编辑一个mysqlsql文件,内容如下:
------------
var nret number;
execute :nret := 0;--初始化
call myproc(in_code,:nret)--执行存储过程,in_code会被替换掉
/
select 'retcode[' || :nret || ']retcode' from dual--显示结果
/
quit;
-------------
SHELL脚本myshsh,内容如下
-------------
#/myshsh 123
cd /home/myshell
sed "s/in_code/$1/" mysqlsql > mysql01sql
#根据sql脚本模板生成实际脚本
sqlplus usr/pwd@db result$1txt
#执行sql脚本并把结果输入result$1txt
echo ok!
-------------
在LINUX下执行/myshsh 123,生成result123txt,myproc输出参数在'retcode['和']retcode'之间。
#include<stdioh>
int main(int argc, char argv)
{
int i;
for(i=0; i<argc; i++)
printf("%s\n", argv[i]);
return 0;
}
比方这个程序叫 mainc 吧,先编译成 mainexe
gcc mainc -o mainexe
然后用命令运行
mainexe aefae 2423 asdae
程序输出:
mainexe
aefae
2423
asdae
argv 是通过命令行传送给程序的参数的字符串指针数组,argc 是参数的个数
以上就是关于怎么给shell命令传递可变参数全部的内容,包括:怎么给shell命令传递可变参数、急问:用ShellExecute向程序传递一个参数值,在这个调用程序中如何获取这个参数值、利用shell启动bat文件如何传入参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)