首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本A调用脚本B和脚本B具有parms

脚本A调用脚本B和脚本B具有parms
EN

Unix & Linux用户
提问于 2019-03-09 13:46:38
回答 1查看 49关注 0票数 0

使用BASH,我有script_a.sh,它调用script_B.shscript_b.sh有parms。

我发现这个行动是有用的,但我的结果并不是我所期望的那样。

代码语言:javascript
复制
$cat script_a.sh 
#!/bin/bash
SCRIPT_PATH="./script_b.sh"
("$SCRIPT_PATH")
exit 0

$ cat script_b.sh 
#!/bin/bash
LICENSE_BEGIN=`date --date="$1 day ago" +%y%m%d`
LICENSE_EXPIR=`date --date="$2 day ago" +%y%m%d`

echo "BEGIN  DATE $LICENSE_BEGIN"
echo "EXIPRE DATE $LICENSE_EXPIR"

exit 0

Script结果

代码语言:javascript
复制
./script_b.sh  90 3
BEGIN  DATE 181209
EXIPRE DATE 190306

./script_a.sh 90 3
BEGIN  DATE 190308
EXIPRE DATE 190308

如何让script_a接受parms并返回与script_b相同的结果?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-03-09 13:55:52

您可以将位置参数列表作为"$@"传递:

代码语言:javascript
复制
#!/bin/bash
SCRIPT_PATH="./script_b.sh"
"$SCRIPT_PATH" "$@"

(我从调用周围删除了一个额外的子subshell )

来自man bashD3部分:

@ Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is, "$@" is equivalent to "$1" "$2" ...

票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/505318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档