-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSHManager with csh shell #32690
Comments
Could you make a pull request with that change? |
Hi, |
The Unix C Shell (csh, tcsh) remains in common use as a login shell in some communities. It is not compatible with POSIX shells (bash, dash, ksh, zsh, etc.) and requires different syntax and escaping. This patch adds the function `Base.shell_escape_csh()`, a C shell equivalent of `Base.shell_escape_posixly()`, along with a new option `:csh` for the `shell` argument of `Distributed.addprocs()`, for use if the login shell on worker accounts is a C shell.
The change proposed here does not solve the problem that C shells and POSIX shells have different syntax and mutually incompatible quoting rules. The workaround suggested above will break if the strings passed on contain shell meta-characters, such as single or double quotes. PR #41485 adds instead proper C shell support to SSHManager via option |
The Unix C Shell (csh, tcsh) remains in common use as a login shell in some communities. It is not compatible with POSIX shells (bash, dash, ksh, zsh, etc.) and requires different syntax and escaping. This patch adds the function `Base.shell_escape_csh()`, a C shell equivalent of `Base.shell_escape_posixly()`, along with a new option `:csh` for the `shell` argument of `Distributed.addprocs()`, for use if the login shell on worker accounts is a C shell.
The Unix C Shell (csh, tcsh) remains in common use as a login shell in some communities. It is not compatible with POSIX shells (bash, dash, ksh, zsh, etc.) and requires different syntax and escaping. This patch adds the function `Base.shell_escape_csh()`, a C shell equivalent of `Base.shell_escape_posixly()`, along with a new option `:csh` for the `shell` argument of `Distributed.addprocs()`, for use if the login shell on worker accounts is a C shell.
Dear Julia team,
Adding workers using SSHManager (so workers are not local) gives me troubles if user default shell is not bash. Using ssh with multi lines command returns an error in csh (need a back slash for multi lines)
I tried a small change in stdlib/Distributed/src/managers.jl
from (lines 187 up to 190)
It seems to work in both cases : csh and bash.
Best regards
The text was updated successfully, but these errors were encountered: