Re: neinteraktivni plink
Da to je moguce kada imas nalog na titanu i kada koristis :ext: pristup.
Postoji takvo uputstvo na Gvozdenovom sajtu. Nemam nalog na galebu, ali
sigurno da njemu mozes pristupiti sa SSH-om. Inicijalizuj jedan cvsroot u
svome homedir-u i probaj ga.
Pogledaj komentare na uputstvo 'ssh, cvs i pserver'.
Ja sam napisao skriptu koja automatizuje celi pristup. Doduse u python-u
je ali je jednostavna. Bilo bi dobro da neko nesto slicno napise u c-u i
da se kompajlira u npr. scvs.exe. I onda koristis scvs.exe umesto cvs.exe.
Podrazumeva se da na racunaru imas cvs.exe i plink.exe.
---cvs.py--
#!/usr/bin/python
import os
import sys
CVS = 'cvs.exe'
SSH = 'plink.exe'
##argumenti komandne linije 'cvs.py -d:pserver:ime@localhost:/titanium/p....
cvs_args = sys.argv
## zameni prvi clan liste sa 'cvs.exe'
cvs_args[0] = CVS
## spojis i dobio si liniju koji bi kucao posle starta plink-a
## 'cvs.exe -d:pserver:ime@localhost:/titanium/p....
cvs_cl = " ".join(cvs_args)
## ovo je ono sto stalno kucas i fiksno je
ssh_cl = "%s cvs@titan.etf.bg.ac.yu -L 2401:localhost:2410" %SSH
print '... start %s ...' %SSH
print ssh_cl
## startujes plink i preuzmes njegov stdin i zajedno stdout i stderr
c_in, c_out_err = os.popen4(ssh_cl)
##sacekusa za ":"
c = ''
while c != ':':
c = c_out_err.read(1)
sys.stdout.write(c)
c_out_err.read(1) # procitaj ' ' posle dvotacke
print
print '... password ...'
c_in.write('\n') # samo <enter> umesto passworda
#sacekaj da pocne plink nesto da ti vraca.
#To znaci da je primio password.
c_out_err.read(10)
#zavrsio si sa plink-om, ali on jos uvek radi sto ti i treba
#sada odradis posao sa cvs-om
print '... start %s ...' %CVS
print cvs_cl
os.system(cvs_cl)
print '... end %s ...' %CVS
#sada je cvs zavrsio svoje.
c_in.write('\n') # zatvori SSH
c_out_err.close()
c_in.close()
print '... end %s ...' %SSH
--- end cvs.py ---
Postoji takvo uputstvo na Gvozdenovom sajtu. Nemam nalog na galebu, ali
sigurno da njemu mozes pristupiti sa SSH-om. Inicijalizuj jedan cvsroot u
svome homedir-u i probaj ga.
Pogledaj komentare na uputstvo 'ssh, cvs i pserver'.
Ja sam napisao skriptu koja automatizuje celi pristup. Doduse u python-u
je ali je jednostavna. Bilo bi dobro da neko nesto slicno napise u c-u i
da se kompajlira u npr. scvs.exe. I onda koristis scvs.exe umesto cvs.exe.
Podrazumeva se da na racunaru imas cvs.exe i plink.exe.
---cvs.py--
#!/usr/bin/python
import os
import sys
CVS = 'cvs.exe'
SSH = 'plink.exe'
##argumenti komandne linije 'cvs.py -d:pserver:ime@localhost:/titanium/p....
cvs_args = sys.argv
## zameni prvi clan liste sa 'cvs.exe'
cvs_args[0] = CVS
## spojis i dobio si liniju koji bi kucao posle starta plink-a
## 'cvs.exe -d:pserver:ime@localhost:/titanium/p....
cvs_cl = " ".join(cvs_args)
## ovo je ono sto stalno kucas i fiksno je
ssh_cl = "%s cvs@titan.etf.bg.ac.yu -L 2401:localhost:2410" %SSH
print '... start %s ...' %SSH
print ssh_cl
## startujes plink i preuzmes njegov stdin i zajedno stdout i stderr
c_in, c_out_err = os.popen4(ssh_cl)
##sacekusa za ":"
c = ''
while c != ':':
c = c_out_err.read(1)
sys.stdout.write(c)
c_out_err.read(1) # procitaj ' ' posle dvotacke
print '... password ...'
c_in.write('\n') # samo <enter> umesto passworda
#sacekaj da pocne plink nesto da ti vraca.
#To znaci da je primio password.
c_out_err.read(10)
#zavrsio si sa plink-om, ali on jos uvek radi sto ti i treba
#sada odradis posao sa cvs-om
print '... start %s ...' %CVS
print cvs_cl
os.system(cvs_cl)
print '... end %s ...' %CVS
#sada je cvs zavrsio svoje.
c_in.write('\n') # zatvori SSH
c_out_err.close()
c_in.close()
print '... end %s ...' %SSH
--- end cvs.py ---
Previous by date: Re: %20
Next by date: Molba
Previous by thread: neinteraktivni plink Next by thread: doxygen
Previous by thread: neinteraktivni plink Next by thread: doxygen