Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
config:cmdline [2022/03/14 20:22] – Removing after moving to SCFG Andreconfig:cmdline [2023/12/14 16:40] (current) – [Specifiers] Added %- (user's chat handle) digital man
Line 1: Line 1:
 +====== Command Lines ======
  
 +There are a number of places in [[:util:SCFG]] where a sysop may configure command-lines to be executed for certain features (e.g. doors, file transfer drivers, file archive/compression/test, etc.).
 +
 +===== Modules =====
 +If the command-line is to be used to execute an internally evaluated module (either [[:util:Baja]] or [[custom:JavaScript]]), the command line should begin with an asterisk (''*'') or question mark (''?'') character. An asterisk indicates that a ''.js'' file should be executed from either the ''[[dir:mods]]'' or ''[[dir:exec]]'' directory if it exists, otherwise, to execute a ''.bin'' (Baja compiled) file (from either the ''[[dir:mods]]'' or ''[[dir:exec]]'' directory) if it exists. A question mark indicates to execute a ''.js'' file only (do not fall back to ''.bin''). The module file extension (e.g. ''.js'' or ''.bin'') is optional.
 +
 +In summary:
 +
 +^ Command-line ^ Description                                          ^
 +| *example     | Executes ''exec/example.js'' or ''exec/example.bin'' |
 +| ?example     | Executes ''exec/example.js'' only                    |
 +
 +Note: The ''[[dir:mods]]'' directory or configured ''Start-up Directory'' (when relevant) are also searched for modules to execute.
 +===== Specifiers =====
 +
 +Command lines configured in [[:util:SCFG]] may include //Command Line Specifiers// which are special sequences (macros) which will be replaced with useful dynamic values at the time the command line is executed by the BBS.
 +
 +//Command Line Specifiers// may also be used in many string-related Baja functions and with the JavaScript ''bbs.cmdstr()'' method.
 +
 +The currently supported //Command Line Specifiers// are:
 +
 +^Specifer ^Description                ^Windows Example ^ Unix Example^
 +|''%A'' |Current user alias            ''digital man''        ||
 +|''%a'' |Current user alias (auto-quoted)  |  ''%%"digital man"%%''  ||
 +|''%b'' |Current baud (DTE) rate      |  ''38400 ''  ||
 +|''%c'' |Current connect description  |  ''Telnet''  ||
 +|''%d'' |Current connect (DCE) rate    ''30000 ''  ||
 +|''%e'' |Estimated CPS rate*10        |  ''30000 ''  ||
 +|''%F'' |File path/name             |''C:\SBBS\NODE1\DOOR.SYS''|''/sbbs/node1/door.sys''|
 +|''%f'' |File path/name (auto-quoted) |''%%"C:\Program Files\SomeFile"%%''|''%%"/some path/file/"%%''|
 +|''%g'' |Temporary file directory   |''C:\SBBS\NODE1\TEMP\''|''/sbbs/node1/temp/''|
 +|''%h'' |Socket descriptor (inheritable)  |  ''1402 ''      ||
 +|''%i'' |Current client IP address        |  ''127.0.0.1''  ||
 +|''%j'' |[[dir:DATA]] directory           |''C:\SBBS\DATA\''|''/sbbs/data/''|
 +|''%k'' |[[dir:CTRL]] directory           |''C:\SBBS\CTRL\''|''/sbbs/ctrl/''|
 +|''%l'' |Current maximum lines per message                    ''500''  ||
 +|''%m'' |Minutes in the current user's minute bank            ''0''  ||
 +|''%n'' |Current [[dir:node]] directory   |''C:\SBBS\NODE1\''|''/sbbs/node1/''|
 +|''%O'' |Sysop's name                      ''digital man''  ||
 +|''%o'' |Sysop's name (auto-quoted)      |  ''%%"digital man"%%''  ||
 +|''%p'' |Client protocol (e.g. Telnet, RLogin, SSH), or "raw" |                                ''raw''  ||
 +|''%q'' |System's QWK ID (as specified in SCFG)            ''VERT''  ||
 +|''%r'' |Client's terminal height (in rows)                ''24''  ||
 +|''%s'' |File specification or current command string     |''C:\FILES\*.ZIP''|''/files/*.zip''|
 +|''%t'' |Time (in seconds) user has left online            ''60''  ||
 +|''%u'' |UART I/O address in hex or F=FOSSIL              |  ''F''  ||
 +|''%v'' |Synchronet version                                ''3.15a''  ||
 +|''%w'' |Client's terminal width (in columns)              ''80''  ||
 +|''%x'' |Current user's command shell (internal code)      ''DEFAULT''  ||
 +|''%y'' |COMSPEC or SHELL environment variable   |''C:\Windows\system32\cmd.exe''|''/bin/sh''|
 +|''%z'' |[[dir:TEXT]] directory                  |''C:\SBBS\TEXT\''|''/sbbs/text/''|
 +|''%.'' |Executable file suffix/extension                 |''.exe''  | |
 +|''%~'' |File path/name in Micros~1 short format (Win32) |''C:\SOMEFI~1''|''/somefilename.txt''|
 +|''%!'' |[[dir:EXEC]] directory                           |''C:\SBBS\EXEC\''|''/sbbs/exec''|
 +|''%@'' |[[dir:EXEC]] directory only on Windows           |''C:\SBBS\EXEC\''             |  
 +|''%#'' |Current Node number (1-255)                      |  ''1''  ||
 +|''%*'' |Current Node number (0 padded to 3 digits)        ''001''  ||
 +|''%$'' |User's credits                                    ''4534834''  ||
 +|''%+'' |User's real name (auto-quoted)                    ''"Rob Swindell"''  ||
 +|''%-'' |User's chat handle/call-sign (auto-quoted)        ''WX6YYZ''  ||
 +|''%%'' |Percent symbol                                    ''%''    ||
 +|''%?'' |Platform/operating system (build target)          ''win32''|''linux''|
 +|''%^'' |Processor architecture (build target)            |  ''i686''|''x64''|
 +|''%1'' |Current user number                              |  ''1''    ||
 +|''%2'' |Current user number (0 padded to 2 digits)        ''01''   ||
 +|''%3'' |Current user number (0 padded to 3 digits)        ''001''  ||
 +|''%4'' |Current user number (0 padded to 4 digits)        ''0001''   ||
 +|''%(5-9)'' |Current user number (0 padded to 5-9 digits) |  ''00001''  ||
 +
 +==== Auto-quoting ====
 +
 +For most alphabetic specifiers, using uppercase or lowercase letters will produce the same results. The following specifiers support automatic quoting, enclosing the value in double-quote characters only when spaces are included in the expanded value. To prevent automatic quoting, use the uppercase version of the specifier (e.g. ''%A'' instead of ''%a'').
 +
 +  * ''%a''
 +  * ''%f'' 
 +  * ''%o''
 +
 +The ''%~'' specifier is always auto-quoted on non-Windows platforms (and never requires quoting on Windows platforms).
 + 
 +===== See Also =====
 +  * [[:util:SCFG]]
 +
 +
 +{{tag>configuration general_config scfg module door}}