Variable: tramp-encoding-shell

tramp-encoding-shell is a customizable variable defined in tramp.el.gz.

Value

"/bin/sh"

Documentation

Use this program for encoding and decoding commands on the local host.

This shell is used to execute the encoding and decoding command on the local host, so if you want to use "~" in those commands, you should choose a shell here which groks tilde expansion. "/bin/sh" normally does not understand tilde expansion.

For encoding and decoding, commands like the following are executed:

    /bin/sh -c COMMAND < INPUT > OUTPUT

This variable can be used to change the "/bin/sh" part. See the variable tramp-encoding-command-switch for the "-c" part.

If the shell must be forced to be interactive, see tramp-encoding-command-interactive.

Note that this variable is not used for remote commands. There are mechanisms in tramp.el which automatically determine the right shell to use for the remote host.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp.el.gz
;; Suppress `shell-file-name' for w32 systems.
(defcustom tramp-encoding-shell
  (let (shell-file-name)
    (or (tramp-compat-funcall 'w32-shell-name)
        (if (eq system-type 'android)
            ;; The shell is located at /system/bin/sh on Android
            ;; systems.
            "/system/bin/sh"
          "/bin/sh")))
  "Use this program for encoding and decoding commands on the local host.
This shell is used to execute the encoding and decoding command on the
local host, so if you want to use \"~\" in those commands, you should
choose a shell here which groks tilde expansion.  \"/bin/sh\" normally
does not understand tilde expansion.

For encoding and decoding, commands like the following are executed:

    /bin/sh -c COMMAND < INPUT > OUTPUT

This variable can be used to change the \"/bin/sh\" part.  See the
variable `tramp-encoding-command-switch' for the \"-c\" part.

If the shell must be forced to be interactive, see
`tramp-encoding-command-interactive'.

Note that this variable is not used for remote commands.  There are
mechanisms in tramp.el which automatically determine the right shell to
use for the remote host."
  :type '(file :must-match t))