4

Is ~# a tilde expansion of bash? I don't find it in https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html. My question is from https://unix.stackexchange.com/a/506532/674. Thanks.

$ ~#
The following connections are open:
  #0 client-session (t4 r0 i0/0 o0/0 fd 5/6 cc -1)
  #1 x11 (t4 r3 i0/0 o0/0 fd 8/8 cc -1)
10

No, it's a special escape code of ssh that lists forwarded connections. You are obviously connected to your shell over an SSH connection.

bash itself will respond with a "command not found" if you type ~# on the command line:

$ ~#
bash: ~#: command not found

Note that to type an ~ into the shell as the first character after pressing Enter, you will have to press ~ twice if your shell is on the other side of an SSH connection, just because of these escape codes.

Other commands that are available are listed in the ssh manual (these need to be entered as the first characters after pressing Enter):

 ~.      Disconnect.

 ~^Z     Background ssh.

 ~#      List forwarded connections.

 ~&      Background ssh at logout when waiting for forwarded connection /
         X11 sessions to terminate.

 ~?      Display a list of escape characters.

 ~B      Send a BREAK to the remote system (only useful if the peer
         supports it).

 ~C      Open command line.  Currently this allows the addition of port
         forwardings using the -L, -R and -D options (see above).  It also
         allows the cancellation of existing port-forwardings with
         -KL[bind_address:]port for local, -KR[bind_address:]port for
         remote and -KD[bind_address:]port for dynamic port-forwardings.
         !command allows the user to execute a local command if the
         PermitLocalCommand option is enabled in ssh_config(5).  Basic
         help is available, using the -h option.

 ~R      Request rekeying of the connection (only useful if the peer
         supports it).

 ~V      Decrease the verbosity (LogLevel) when errors are being written
         to stderr.

 ~v      Increase the verbosity (LogLevel) when errors are being written
         to stderr.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.