0

我在这里有一个 tftp 脚本,当它运行时它只是挂起并将我带到一个空白行(它告诉我它正在挂起)。我可以通过 Ctrl+C 退出脚本...

#!/bin/bash
hostname=$1;
filename=$2;

tftp <</dev/null
mode binary
get $hostname:$filename
quit

我也尝试在脚本末尾添加 EOF,但这也不起作用。

这是我的命令行...

$ ./tftpShell.sh host1 myFileName >/home/aayerd200/tftpoutput.txt 2>/home/aayerd200/tftperror.log

因此,当我运行脚本时,它只会让我处于空白行。然而,它确实做了它应该做的工作,我确实得到了我想要的文件。

当然 host1 和 myFileName 是我为了安全起见在这里替换的实际字段。

我怎样才能停止这个脚本?我相信它只是挂在 $ ps -u aayerd200 上的 tftp,或者当由 php $ ps -u 守护进程运行时

4

2 回答 2

1

您将 /dev/null 作为此处的文档“分隔符”尝试一些随机字符集,例如 EOF 对 shell 没有意义。并终止此处的文档

tftp <<-EOF
mode binary
get $hostname:$filename
quit
EOF
于 2013-07-26T16:32:56.533 回答
0

Okay so I just made this a background process by appending & to the end of the command. Then I ran $ echo $! for the PID. Then I ran $ kill PID.

That was my solution to this, for now at least.

于 2013-07-26T16:54:53.877 回答