for循环连续2个文件并将参数传递给其他脚本

时间:2018-05-05 11:18:23

标签: bash shell

我有2个文件,一个包含hostnames.txt,另一个包含commands.txt

hostnames.txt

switch1.txt
switch2.txt
switch3.txt

commands.txt

show inter gi0/1
show inter gi0/0/1
show inter Eth1/1

我想用switch1执行show inter gi0/1(第一次切换)(第一个命令),然后选择switch2并使用show inter gi0/0/1执行,依此类推,直到文件为止结束。

我正在使用一个TCL脚本,我正在使用来自文本文件的hostname和command传递参数。

for  in `/bin/cat hostname.list`;
do
echo $n > oneswitch.txt

for  in `/bin/cat interfinal.list`;
do
echo $m > onecommand.txt

for switch in `/bin/cat oneswitch.txt
tclscript -u username -p password -t $switch -r onecommand.txt .

我无法实现它,我可以使用的循环如何以及可以使用哪些循环来实现这一目标?

上面的内容是我只能使用last命令执行last switch。

请帮忙。

谢谢

1 个答案:

答案 0 :(得分:0)

使用paste - >在bash提示下尝试此操作:paste -d ":" hostname.list interfinal.list

所以:

paste -d ":" hostname.list interfinal.list | while IFS=: read -r switch cmd; do
    tclscript -u username -p password -t "$switch" -r "$cmd" .
done