Mam skrypt powłoki o nazwie Call.sh, który wewnętrznie wywołuje inne skrypty (np. .sh) i działa dobrze dla mnie. Teraz chcę wykonać Call.sh z narzędzia ant. Zrobiłem build.xml, który wywołuje .sh. Ale jeden ze skryptów prosi o dane wejściowe, ale ant nie daje mi możliwości przekazania danych wejściowych, z powodu których dalsze operacje zawiodą. Tutaj znajdziesz kodyWykonywanie skryptu powłoki za pomocą ant
build.xml
<project name="Sample" default="info">
<target name="info">
<exec executable="/bin/bash">
<arg value="/full path/Call.sh"/>
<arg value="/tmp"/>
</exec>
</target>
</project>
Call.sh
#!/bin/bash
echo "Begining the execution......"
sleep 1
sh ./input.sh
sh ./AutomateCom.sh
sh ./Clean.sh
echo "*****_______*****_______"
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"
gdy uruchomię Mrówka: To działa nieprzerwanie .... poniżej jest o/p kiedy mówię mrówka
[[email protected] Work]# ant
Buildfile: /root/test/Work/build.xml
info:
[exec] enter the Organization name
[exec] Orgname is :
[exec] Organization name has been replaced with
BUILD SUCCESSFUL
Total time: 0 seconds
......................................
co się spodziewać, kiedy biegnę ./input.sh,in sam sposób mrówka powinna zapytać mnie dla wejścia
[[email protected] Work]# ./input.sh
enter the Organization name
**yak**
Orgname is : yak
Organization name has been replaced with yak
However ant doesn't give me opportunity to prompt for the user input. Any suggestions.
Ty nie wspomniałem o problemie tak trudnym do ustalenia, o co tu chodzi. Spróbuj podać pełną ścieżkę do 'input.sh'. – devnull
mała zmiana Call.sh. Gdzie podać pełną ścieżkę. Kiedy robię mrówki. Buduję, ale nic się nie dzieje, mam na myśli, że powinien wykonać Call.sh. – mahesh