Terminal legacy mode
DEPRECATED
Terminal legacy mode is deprecated in favor of SSH terminal and will be removed in the future.
Custom shell commands can be enabled in the [config.yaml]https://www.rebex.net/doc/buru-sftp-server/configuration/config/sshshell/). Commands can be found in aliases file.
Windows impersonation disables custom shell commands for the user as impersonation is not supported for custom shell commands yet.
Syntax
# comment
mycommand1=path_to_exe arg1 arg2 arg3 ...
mycommand2=path_to_exe arg1 arg2 arg3 ...
...
Special parameters
$0- denotes the name of the command$1to$9- denotes a positional parameter. Enclose in double quotes, unless you want to allow parameter splitting (see examples below).$@- expands the positional parameters, starting from one."$@": when the expansion occurs within double quotes, each parameter expands to a separate word. That is,"$@"is equivalent to"$1" "$2" ....$@: when the expansion is not within double quotes, each positional parameter expands to a separate word. In contexts where it is performed, those words are subject to further word splitting and pathname expansion.
$*- expands the positional parameters, starting from one."$*": when the expansion occurs within double quotes, it expands to a single word with the value of each parameter separated by space. That is,"$*"is equivalent to"$1 $2 ..."$*: when the expansion is not within double quotes, each positional parameter expands to a separate word. In contexts where it is performed, those words are subject to further word splitting and pathname expansion.
Escape character (\)
Backslash is used to escape special characters - \ (backslash itself), " (double quote) and $ (dollar sign).
When backslash is followed by a regular character, it is treated as a literal character (e.g. \a yields \a),
so it can be used in Windows paths (e.g. C:\Windows).
Examples
| Alias definition | Command | Result | Comment |
|---|---|---|---|
foo=C:\foo.exe "$1" |
foo "Hello World!" |
C:\foo.exe "Hello World!" |
Parameters will map one to one |
foo=C:\foo.exe $1 |
foo "Hello World!" |
C:\foo.exe Hello World! |
Parameters will be expanded |
do=cmd.exe /c "$@" |
do "dir /s" |
cmd.exe /c "dir /s" |
|
do=cmd.exe /c "$*" |
do dir /s |
cmd.exe /c "dir /s" |
|
whatever="$@" |
whatever git status |
"git" "status" |
|
*="$0" "$@" |
git status |
"git" "status" |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.