【发布时间】:2019-09-23 21:30:51
【问题描述】:
我在/home/test/javacall 目录中有以下脚本,它解析 IP 对的 csv,调用一个调用可执行 jar 的 sh 文件以从这些 IP 获取输出。
在下面的代码中,ip1=${IPArray[0]} 从 java 中抛出 UnknownHostException。
但是如果我直接使用 ip ip1="10.10.10.10" java 代码就可以了。我从 java 中做了System.out.println,并且在两种情况下都显示了相同的 IP。但仅在 ip1=${IPArray[0]} 的情况下,我得到了例外。
#!/bin/bash
INPUT="IPPairs.csv"
array=()
while IFS="," read var1 var2 ; do
echo $var1 $var2
pairString="$var1***$var2"
array+=("$pairString")
done < $INPUT
for i in "${array[@]}" ; do
echo $i
IPString=$(echo $i | tr '***' ' ')
read -ra IPArray <<< "$IPString"
ip1=${IPArray[0]}
#ip1="10.10.10.10"
ip2=${IPArray[1]}
source /home/test/javacall/javacmd.sh "$ip1" "/home/test/javacall/out.txt" "show running-config all-properties"
done
例外:
com.jcraft.jsch.JSchException: java.net.UnknownHostException: 10.10.10.10
at com.jcraft.jsch.Util.createSocket(Util.java:349)
at com.jcraft.jsch.Session.connect(Session.java:215)
at com.jcraft.jsch.Session.connect(Session.java:183)
【问题讨论】:
-
你是如何执行 bash 脚本的?
-
你的 shell 脚本坏了。没有水晶球我们怎么知道?你能分享一些你的shell脚本文本吗?
-
使用 shell 脚本更新问题。
-
命令有区别
userid pw out.txtuserID "pwd" -
#!/bin/bash java -jar /home/myname/Executor.jar 10.10.10.10 userID "pwd"outs1.txt "show running-config all-properties" 有效。但是 $s1 失败了。
标签: java linux bash sockets jsch