As I discovered execline cd replaces the linux utility in a system and
produces peculiar results

 It doesn't really replace it. 'cd' is always a shell builtin. If there
is a previous 'cd' binary on your system (Fedora still has one, maybe?),
it is never used, and only there for compliance with a silly POSIX
requirement.

 If you build execline with --enable-pedantic-posix, it can replace
that binary, yes, but it will not replace the 'cd' command that is
used by shell scripts.


On console cd seems to be perfect as expected

 If you include 'cd' in a command line in a way that it has to be an
external command, it will work, whether in a terminal or in a script:
$ env cd /etc ls
will display the contents of /etc.

If you just run
$ cd /etc ls
then cd is your shell builtin and it will only change your cwd to /etc,
it will not run the ls command.


 on script #!/bin/sh
when changing to a directory in a mounted partition it fails, while
normal cd works as if it is on a single partition.

 This has nothing to do with partitions, or glibc, or gcc, or anything.
The only thing that can impact the result is whether or not a shell
is interpreting your 'cd' command.

 You should never need to access execline's cd binary as the first link
in a chainloading command line in a shell, since you can always use the
"cd foobar && rest_of_command..." construction. But if for some weird
reason you do, using "env cd" will do the trick.

--
 Laurent

Reply via email to