当前位置:首页 » 网页前端 » 脚本中如何传递数字
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

脚本中如何传递数字

发布时间: 2022-10-03 04:25:37

‘壹’ 如何给shell脚本传参数

方法/步骤

执行“nano test.sh”创建一个新的shell脚本。

脚本test.sh的内容如下:
#!/bin/sh

name=$1

echo "the ${name} are great man!"

给新创建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。

执行'./test.sh "xiao wang"'命令,可以看到自己编写脚本的结果“the xiao wang are great man!”。

"name=$1"中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/...]从1开始为传递的参数。
linux系统除了提供位置参数还提供内置参数,内置参数如下:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID

‘贰’ 如何向expect脚本里面传递参数

向expect脚本里面传递参数:
比如下面脚本用来做ssh无密码登陆,自动输入确认yes和密码信息,用户名,密码,hostname通过参数来传递

ssh.exp

Python代码
#!/usr/bin/expect
set timeout 10
set username [lindex $argv 0]
set password [lindex $argv 1]
set hostname [lindex $argv 2]
spawn ssh--id -i .ssh/id_rsa.pub $username@$hostname
expect "yes/no"
send "yes\r"
expect "password:"
send "$password\r"

expect eof

执行脚本./ssh.exp root pasword hostname1

expect接收参数的方式和bash脚本的方式不太一样,bash是通过$0 ... $n 这种方式,而expect是通过set <变量名称> [lindex $argv <param index>],例如set username [lindex $argv 0]

‘叁’ 按键精灵如何实现脚本与脚本间的数据传递

Plugin File.WriteFileEx("C:\Documents and Settings\Administrator\桌面\MK's AutoFire.ini", "写入内容内容")
//=================写入代码
Plugin Text = File.ReadFileEx("C:\Documents and Settings\Administrator\桌面\MK's AutoFire.ini")
i=0
f=split(text,"|")
For UBound(f)
MessageBox "一共有[ "&UBound(f)&" ]句"&vbcrlf&"第[ "&i+1&" ]句为: "&f(i)
i=i+1
EndFor
//=================读出代码

‘肆’ linux 调用脚本怎么传脚本参数

Linux shell脚本开始执行时,系统会初始化一些脚本的环境变量和参数变量,这些变量是可以直接使用的,下面是一些参数变量:
$1,$2,$3......:代表脚本程序的参数,脚本有几个参数数字就到几;
那$0代表什么呢?当然是脚本的名字了
还有和脚本参数有关的一个脚本环境变量:$#
它代表传递给脚本的参数个数。
知道了这些,你就可以在你编写的脚本内编写处理脚本参数的代码,一旦你的脚本有了对参数的处理,你就可以这样调用有参数的脚本:
./脚本名 参数1 参数2......
参数和脚本名、参数和参数之间用空格分开,和使用shell命令的格式是一样的。

‘伍’ 在按键精灵脚本里如何向个句柄后台输送数字,字母,按键我不要数字(下次启动变化的)句柄

句柄会在你启动程序时,自动变化。所以你想不要变动的,是没有的。
而想变化也能传送字符,就要根据类名找句柄,然后赋值给这个句柄给一个变量
然后再传递给这个句柄,这样就可以做到改变里面的值了。

‘陆’ sqlplus 执行脚本文件时如何传参数

d:\test.sql脚本如下:
[sql] view plain
select &1 from &2;
exit;

执行时这样传参数:sqlplus "scott/tiger@test" @d:\test.sql sysdate al
注意:参数必须用&[1-9]表示,不然传不进去,会提示让手动输入参数
[sql] view plain
C:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al

D:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al

SQL*Plus: Release 11.2.0.1.0 Proction on 星期二 11月 1 21:59:00 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options

原值 1: select &1 from &2
新值 1: select sysdate from al

SYSDATE
--------------
01-11月-11

从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断


D:\>

如果脚本中有重复用到相同的值,如果&1=&2:
d:\tes2.sql
[sql] view plain
delete scott.emp where no=&1 or deptno=&2;
commit;

执行时,就必须传2个参数:
[sql] view plain
sqlplus "scott/tiger@test" @d:\test2.sql 10 10

小窍门: 这时用procere就可以不用传多个相同的参数,则只用传1个参数:
d:\test3.sql
[sql] view plain
declare
var_no number:=&1;
begin
delete scott.emp where no=var_no or deptno=var_no;
commit;
end;

sqlplus "scott/tiger@test" @d:\test3.sql 10

‘柒’ 如何实现脚本之间的信息传递

我在A脚本(在节点A上)用on注册了事件监听 在B脚本(在节点B上)用emit发射事件 为什么A接收不到事件回调?我尝试在脚本A里面emit,就能够收到。on和emit只能在同一脚本内才可以吗?不可能吧!那如果实现不同节点上不同脚本之间的事件传递呢?

‘捌’ 如何向expect脚本里面传递参数

expect是一个用来实现自动交互功能的工具,使用expect-send来实现交互过程。脚本的执行方法与bash shell不一样,如:expect example.sh

向一个脚本传递参数,bash shell是使用$1,$2...来接收参数的,而epxect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数]

实例:
写一个自动登陆远程主机的脚本,通过参数传递主机名,帐户,密码
1)编写脚本
#!/usr/bin/expect
set ip [lindex $argv 0]
set username [lindex $argv 1]
set passwd [lindex $argv 2]
spawn ssh -l $username $ip
expect {
"yes/no" { send "yes\r";exp_continue }
"password:" { send "$passwd\r" }
}
#expect eof
interact

注意:若登陆后便退出远程终端,则写expect eof即可。

2)执行脚本
expect autologin.sh 172.24.6.29 root redhat

‘玖’ 如何向expect脚本里面传递参数

如何向expect脚本里面传递参数 比如下面脚本用来做ssh无密码登陆,自动输入确认yes和密码信息,用户名,密码,hostname通过参数来传递 ssh.exp Python代码 #!/usr/bin/expect set timeout 10 set username [lindex $argv 0] set password

‘拾’ linux shell脚本,怎样变量传递执行结果

1、shell一般都是放在/bin或者/user/bin目录下,我们可以使用命令cat /etc/shells命令,查看当前linux系统可用的shell是什么。