6 ms·
Note: Child processes can't change the working directory of the parent. An external command (that is, not a shell builtin, shell function, or externally loaded
by machinestops 2y ago
Note: Child processes can't change the working directory of the parent. An external command (that is, not a shell builtin, shell function, or externally loaded module) cannot change the working directory, because they're launched as child processes.
- saghm 2y agoGood point. I'm not sure why I was thinking that it was possible to do via some other command invoking `cd` or something, but you're right that the only examples I can think of are all using other builtins (e.g. invoking `source` to have a script change the current state).
- d3VwsX 2y agoThere is a workaround I saw used by wcd, a tool for changing directories. To install it you have to add a wrapper function in your shell that executes the actual wcd binary, and after possibly interacting with the user to figure out what directory to change to the executable will print out the destination, and then the wrapper function will make the call to cd, affecting the shell it runs in. https://wcd.sourceforge.io/ https://wcd.sourceforge.io/