[Perl] exec probleempje

Pagina: 1
Acties:

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
ik ben vandaag begonne met perl proberen te leren
maar het wil niet echt lukken


als ik in mijn script


exec "ls"

neer zet krijg ik netjes de output te zien

maar als ik nu
exec "./usr/sbin/useradd -d /home/$name -s /bin/bash -p $pass $name"

doe krijg ik de melding

crtusr: /progs/usr/sbin/useradd -d /home/tre -s /bin/bash -p ter tre: No such file or directory
crtusr: exec: /progs/usr/sbin/useradd -d /home/tre -s /bin/bash -p ter tre: cannot execute: No such file or directory


het zal best wel iets heel simpels wezen maar ik zie het niet :)

specs : http://specs.tweak.to/7435


Verwijderd

gokje:

/progs/usr/sbin bestaat niet,
dat moet /usr/sbin zijn?

dus exec "./usr/sbin bla bla"
moet worden: "/usr/sbin bla bla" ?

ben geen unix held (of bekend met je server conf. )
maar ik dacht dat /usr een root directory was...

:)
groeten,
joris

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
ik draai het script onder root dus dat moet niet uitmaken

specs : http://specs.tweak.to/7435


Verwijderd

Op vrijdag 12 oktober 2001 23:15 schreef dafearless het volgende:
ik draai het script onder root dus dat moet niet uitmaken
umm..
doe eens

ls /progs/usr/sbin/

?

dat is de dir die perl aan probeert te spreken. die dir bestaat niet. root of geen root.

als ik het mis heb hoop ik dat je er achter komt wat het wel was.... :+

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Op vrijdag 12 oktober 2001 22:56 schreef dafearless het volgende:
exec "./usr/sbin/useradd -d /home/$name -s /bin/bash -p $pass $name"
Haal die punt daar aan het begin eens weg.

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
code:
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl

echo "Type een Username"
read name 

echo "type een password" 
read pass 

#echo "Username = $name"
#echo "Password = $pass"

exec "/usr/sbin/useradd -d /home/$name -s /bin/bash -p $pass $name"

heb ik nu en dat werkt nog niet :?

ik krijg deze output
code:
1
2
3
4
5
6
7
8
debian:/progs# sh crtusr
Type een Username
dfg
type een password
dg
crtusr: /usr/sbin/useradd -d /home/dfg -s /bin/bash -p dg dfg: No such file or directory
crtusr: exec: /usr/sbin/useradd -d /home/dfg -s /bin/bash -p dg dfg: cannot execute: No such file or directory
debian:/progs#

terwijl het toch echt in die dir staat
code:
1
2
3
4
debian:/progs# locate useradd
/usr/sbin/useradd
/usr/share/man/man8/useradd.8.gz
debian:/progs#

specs : http://specs.tweak.to/7435


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Op vrijdag 12 oktober 2001 23:22 schreef dafearless het volgende:
code:
1
exec "/usr/sbin/useradd -d /home/$name -s /bin/bash -p $pass $name"
Vervang die regel eens met `/usr/sbin/useradd -d /home/$name -s /bin/bash -p $pass $name`

Let op de backticks, zijn geen normale quotes maar die ene op de knop voor de 1.

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Op vrijdag 12 oktober 2001 23:26 schreef RickJansen het volgende:

[..]

Vervang die regel eens met `/usr/sbin/useradd -d /home/$name -s /bin/bash -p $pass $name`

Let op de backticks, zijn geen normale quotes maar die ene op de knop voor de 1.
ja dat werkt bedankt man :))
kan nu weer lekker verder scripten

specs : http://specs.tweak.to/7435


Verwijderd

ummm wat was het verschil dan tussen backticks en exec?

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

exec "" probeert letterlijk uit te voeren wat er tussen de quotes staat, ik denk dat exec '' (en dat zijn geen backticks) ook wel zou werken...

perldoc -f exec
Pagina: 1