0
J'utilise un script shell pour appeler le script jython. Lorsque j'appelle un script shell, je veux passer les arguments qui devraient éventuellement être passés au script jython.
exemple de commande est le suivantPasser des arguments du script shell au script jython
./passarg.sh -m 12345 -p 'hello'
le code passarg.sh est le suivant. Où, comme dans le script jython, j'utilise getopt pour analyser les arguments. Le myJythonscript.py ressemble à ci-dessous.
#!/usr/bin/env jython
import unittest
import java
import time
import os
import sys, getopt
def authenticateAccount(verizionAmImp, mdn, password):
if verizonAMImp.authenticateAccount(mdn, password):
print mdn, " is registered"
else:
print mdn, " is not registered"
def getRole(verizonAmImp, mdn):
role = verizonAMImp.getRole(mdn)
print mdn, " role is ", role
def main():
URL = "http://localhost:8080/verizon-am-mock/ws/onlinedevice/service"
password = "verizon0"
methodCall = 0
#for Debugging
print " System Arguments ", sys.argv
opts, operand = getopt(sys.argv[1:],"ar:m:p:u")
for o,v in opts:
if o == "-a":
methodCall = 1
elif o == "-r":
methodCall = 2
elif o == "-m":
mdn = v
elif o == "-p":
password = v
elif o == "-u":
URL = v
if (mdn is None) or (len(mdn) == 0):
print "Please provide MDN in the argument"
exit(1)
verizonAMImp = makePortFactory(URL);
if methodCall == 1:
authenticateAccount(verizonAMImp, mdn, password)
elif methodCall == 2 :
getRole(verizonAMImp, mdn)
else:
print "Please check the arguments"
exit(1)
if __name__ == '__main__':
main()