当前位置:首页 » 编程软件 » 启动脚本传递参数

启动脚本传递参数

发布时间: 2022-12-09 11:34:21

㈠ 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)

sh 绝对路径/xxx.sh 参数1 参数2 参数3........参数n

---------------------------------------------------------------------------------
如果你保存临时文件的话,可以使用xargs
比如脚本文件为1.sh,而参数保存在args文件中,用一个命令得到参数内容
cat args
那么最后可以这样执行
cat args |xargs sh 1.sh

如果不打算保存临时文件,那你只好在脚本中写清楚要如何调用,参数有几个。
比如你使用2.sh调用1.sh,在2.sh 中写清楚
1.sh $arg1 $arg2这样就可以了。
当然脚本中的arg1,arg2也可以是最初的第一个脚本调用传递进来的,也可以是硬编码写死的。

㈡ shell 如何启动另外一个脚本执行,并传递参数

子shell变量传递给父shell,中间可以保存个临时文件让父shell去读。
下边是一个子shell,传递给父shell的一个例子,仅做参考
#!/bin/bash
(
subvar="hello shell"
echo "$subvar" > temp.txt
)
read pvar < temp.txt
echo $pvar

㈢ 往shell脚本中传入参数

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

㈣ shell脚本如何传递给子脚本命令行参数

shell脚本如何传递给子脚本命令行参数

shell脚本可以使用getops来分析命令行参数,现在的一个使用场景是:

例如:
父脚本:

父脚本处理一个参数-t,如果-t的值是sub,那么调用sub.sh子脚本,然后把剩下的参数连同重写的-t参数传递给子脚本sub.sh。

子脚本:

子脚本的参数处理就没啥特殊的 了,和普通的脚本处理命令行参数一样。

运行例子:

限制:

㈤ 如何向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

㈥ 如何给shell脚本传参数

from:Linux命令行与shell脚本编程大全.第3版

向shell脚本传递数据的最基本方法是使用命令行参数。命令行参数允许在运行脚本时向命令行添加数据。
$ ./addem 10 30
本例向脚本addem传递了两个命令行参数( 10和30)。脚本会通过特殊的变量来处理命令行参数。

下面是在shell脚本中使用单个命令行参数的简单例子。

$cattest1.sh
#!/bin/bash
#usingonecommandlineparameter
#
factorial=1
for((number=1;number<=$1;number++))
do
factorial=$[$factorial*$number]
done
echoThefactorialof$1is$factorial
$
$./test1.sh5
Thefactorialof5is120
$


㈦ 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

㈨ linux shell脚本调用参数传递

三个选择:
1)把参数写进脚本,运行脚本时不带参数。
2)使用交互式方法,运行时提示让用户手动输入这些信息。
3)搜索“linux 隐藏进程”。

如果你的用户名密码是用于登录的话,改用密钥好了:
http://..com/question/324853297.html

㈩ 如何给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

热点内容
手机网页连接不上服务器如何解决 发布:2025-07-04 03:29:57 浏览:921
计算机多级存储系统 发布:2025-07-04 03:24:22 浏览:283
流控搭脚本 发布:2025-07-04 03:05:59 浏览:110
编程的引号 发布:2025-07-04 03:01:09 浏览:786
百度云不能上传文件 发布:2025-07-04 02:59:28 浏览:664
皇冠哪个配置上驾驶座前后移动 发布:2025-07-04 02:45:56 浏览:92
安卓没银行卡怎么充值 发布:2025-07-04 02:40:13 浏览:668
家教网php源码 发布:2025-07-04 02:40:11 浏览:51
外锥度编程 发布:2025-07-04 02:37:28 浏览:969
炫舞二级密码怎么设置 发布:2025-07-04 02:31:50 浏览:976