Both sides previous revisionPrevious revisionNext revision | Previous revision |
config:cmdline [2022/03/14 20:22] – Removing after moving to SCFG Andre | config:cmdline [2023/12/14 16:40] (current) – [Specifiers] Added %- (user's chat handle) digital man |
---|
| ====== 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}} |