Message174623
| Author |
christian.heimes |
| Recipients |
asvetlov, chris.jerdonek, christian.heimes, ezio.melotti, gregory.p.smith, lyapun, neologix, pitrou, r.david.murray, tim.golden |
| Date |
2012年11月03日.14:09:53 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1351951793.83.0.673115440382.issue16353@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
which('sh') isn't correct here. 'which' searches in all PATH environ parts. However the shell must be looked up in CS_PATH only.
From man sh(1posix):
> Applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh, and should be determined by interrogation of the PATH returned by getconf PATH , ensuring that the returned pathname is an absolute pathname and not a shell built-in.
'getconf PATH' queries confstr(_CS_PATH).
I suggest that you modify the POSIX part to:
path = os.confstr("CS_PATH")
which('sh', path=path) |
|