我们正在对数据库进行自动化,我们有一个脚本在shell中调用另一个脚本。外汇:-
first-script.sh arg1 agr2 arg3 [Suppose 3 arguments are passed, then we have to call second-script.sh 3 times]
#!/bin/bash
./second-script.sh $1
./second-script.sh $2
./second-script.sh $3
如何移除这个依赖?我们希望是这样的如果传递了两个参数那么第一个脚本应该自动运行为
first-script.sh arg1 agr2
#!/bin/bash
./second-script.sh $1
./second-script.sh $2
,如果传递了5个参数,它应该像
那样运行first-script.sh arg1 agr2 arg3 arg4 arg5
#!/bin/bash
./second-script.sh $1
./second-script.sh $2
./second-script.sh $3
./second-script.sh $4
./second-script.sh $5
使用"$@"(或者可能是$*)来表示所有的参数:
#!/bin/bash
for arg in "$@"
do
./second-script.sh "$arg"
done
你只需要循环遍历参数。
for arg in $@ ; do
second-script.sh "$arg"
done