Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 执行通过ant接收输入的shell脚本_Unix_Ant - Fatal编程技术网

Unix 执行通过ant接收输入的shell脚本

Unix 执行通过ant接收输入的shell脚本,unix,ant,Unix,Ant,我有input.sh shell脚本,它要求用户输入,它工作正常!!。现在我想通过ant调用input.sh,我可以这样做,但是我不能将输入传递给shell脚本。我错过了什么?下面是build.xml和input.sh的截图以及执行结果 input.sh #!/bin/bash echo "enter the Organization name" read Orgname echo "Orgname is : $Orgname" sed "s/000/$Orgname/g" Final.sql

我有input.sh shell脚本,它要求用户输入,它工作正常!!。现在我想通过ant调用input.sh,我可以这样做,但是我不能将输入传递给shell脚本。我错过了什么?下面是build.xml和input.sh的截图以及执行结果

input.sh

#!/bin/bash

echo "enter the Organization name"
read Orgname
echo "Orgname is : $Orgname"
sed "s/000/$Orgname/g" Final.sql >> ExecuteID.sql
echo "Organization name has been replaced with $Orgname"
结果:

[root@krog2-rhel5-64 Work]# ./input.sh
enter the Organization name
**yak
Orgname is : yak
Organization name has been replaced with yak**
[root@krog2-rhel5-64 Work]# ant
Buildfile: /root/test/Work/build.xml

automate:
     [exec] enter the Organization name
     [exec] **Orgname is :
     [exec] Organization name has been replaced with**

BUILD SUCCESSFUL
Total time: 0 seconds
build.xml

<project name="Sample" default="automate">
<target name="automate">
<exec executable="/bin/bash">
<arg value="/root/test/Work/input.sh"/>
<arg value="/root/test/Work"/>
</exec>
</project>

在此问题上的任何帮助都将不胜感激

您可能希望在
build.xml
中传递
$Orgname

<project name="Sample" default="automate">   
  <target name="automate">
    <exec executable="/bin/bash">
      <arg value="echo 'yak' | /root/test/Work/input.sh"/>
    </exec>   
  </target> 
</project>

查看输入的可能重复:[exec]/bin/bash:echo'yak'| input.sh:没有这样的文件或目录[exec]结果:127它没有识别该语句。当删除“echo'yak'…它正确地选择了文件,但当我说它给出了上述错误时