-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 what's the problem? server3:~# vzctl exec 180 cat hi.sh #!/bin/bash echo $HOME server3:~# vzctl exec 180 hi.sh / server3:~# vzctl exec 180 echo $HOME /root server3:~# aptitude show vzctl Package: vzctl State: installed Automatically installed: yes Version: 3.0.18-1 Priority: optional Section: admin Maintainer: Ola Lundqvist <opal@debian.org <mailto:opal@debian.org>> Uncompressed Size: 872k Depends: libc6 (>= 2.3.6-6), iproute, vzquota Recommends: rsync Suggests: kernel-patch-openvz ..... server3:~# uname -a Linux server3 2.6.18-028stab045 #11 Wed Oct 10 13:28:22 CST 2007 i686 GNU/Linux server3:~# -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) iD8DBQFHKpyoJo9Njjkvy34RAscYAKCATCPihKg3wXmOYRGCbKB/Ha++OwCeM2cL sAf+xxn1ga2Mynj+rfeCsnQ= =0ABA -----END PGP SIGNATURE-----
Re: problem run shell script by vzctl exec
Quoth "hhding.gnu" <hhding.gnu@gmail.com>, on 2007-11-02 11:42:32 +0800: > what's the problem? > > server3:~# vzctl exec 180 cat hi.sh > #!/bin/bash > > echo $HOME > server3:~# vzctl exec 180 hi.sh > / Subprocess for bash starts running inside VE 180, begins executing hi.sh. It's got a different environment, and expands $HOME into /, then echoes it to stdout. > server3:~# vzctl exec 180 echo $HOME > /root _Current_ shell expands $HOME into /root. Subprocess for echo starts running inside VE 180, with the parameter already expanded. (vzctl doesn't even see the "$HOME".) It is told to echo "/root" to stdout, so it does. Does that sound about right? ---> Drake Wilson
yep. the actual command executed in 2nd case is: server3:~# vzctl exec 180 echo /root Kirill On Fri, 2007-11-02 at 00:50 -0500, Drake Wilson wrote: > Quoth "hhding.gnu" <hhding.gnu@gmail.com>, on 2007-11-02 11:42:32 +0800: > > what's the problem? > > > > server3:~# vzctl exec 180 cat hi.sh > > #!/bin/bash > > > > echo $HOME > > server3:~# vzctl exec 180 hi.sh > > / > > Subprocess for bash starts running inside VE 180, begins executing > hi.sh. It's got a different environment, and expands $HOME into /, > then echoes it to stdout. > > > server3:~# vzctl exec 180 echo $HOME > > /root > > _Current_ shell expands $HOME into /root. Subprocess for echo starts > running inside VE 180, with the parameter already expanded. (vzctl > doesn't even see the "$HOME".) It is told to echo "/root" to stdout, > so it does. > > Does that sound about right? > > ---> Drake Wilson