2012-08-06 64 views
1

我有以下脚本用于检查远程Linux机器中是否存在文件。虽然它的工作原理时,在控制台上直接调用,它确实让我提示,要求输入密码时这个脚本是用Java通过调用Runtime-> EXEC()检查远程文件是否存在Linux

`ssh $HOSTNAME test -f $FILENAME`  
    result=$? 
    result=0; 
    if [ $result != "0" ]; then 
     echo "$FILENAME is not found" 
     exit 31; 
    fi 

我也用脚本添加用户名作为

`ssh [email protected] test -f $FILENAME 
+0

您在测试之前强制'结果'为零,表示成功。 – chepner 2012-08-06 15:04:29

回答

2

您需要重新检查您的ssh密钥以及您正在运行哪个用户的Java。如果密钥不匹配,则系统会提示您输入用户名/密码。

+0

你说得对,我发现了这个问题。实际上,当我检查完整个Linux脚本后,我发现HOST_NAME设置为localhost,因此url变为root @ localhost。 – 2012-08-06 15:47:27