【发布时间】:2014-07-31 16:04:41
【问题描述】:
环境变量或变量的导出似乎对我不起作用...我看到已经涵盖了许多版本,但它们似乎非常具体,我感到困惑。
我正在 OSX 10.9 上创建我的第一个 shell 脚本。到目前为止,该脚本执行以下操作:
1) 向用户询问服务器ip地址、服务器端口、ssh登录用户名等变量等一系列问题。
2) 使用用户设置的变量,然后通过 ssh 连接到 linux box (ubuntu 14)。
3) ssh 连接后,终端启动一个名为iperf3 的程序,使用用户从脚本中指定的ip 和port 在服务器上运行。
到目前为止,所有这些步骤都有效。
问题在于,一旦 iperf 程序开始侦听脚本指定的端口,所有终端命令都会停止。为了在我的客户端上运行 iperf3,此时,我需要打开一个新选项卡或窗口,并手动运行命令。我宁愿让新选项卡从脚本中继续。
但是,即使我手动运行命令,终端中的这些新选项卡或窗口也不知道用户事先从脚本中设置的变量。我一直在尝试导出命令并研究设置环境变量,但我很困惑和迷失。
理想情况下,接下来的步骤将从我创建的一个脚本文件运行并继续执行以下操作:
4) 使用用户指定的ip 和port 创建新标签并启动iperf3。
5) 将创建的--json 文件上传到在Linux 机器上运行的MySQL 数据库。
iperf,对于那些不知道的人,测试客户端和主机之间的网络带宽,并将结果发布到终端。我需要在许多不同的地方无线测试带宽,自动化大多数“复制粘贴”命令将节省大量时间。 任何帮助将不胜感激。
【问题讨论】:
标签: linux macos bash ssh global-variables