Alias expansion

Jun 24, 2008
223
0
Siegen, Germany
Given the following alias:
openssl enc -base64
the following command line works
echo test|base 64
while the following doesn't
echo test|base64|base64 -d
resulting in
TCC: Unknown command "base64"
 

rconn

Administrator
Staff member
May 14, 2008
12,345
150
LocalAliases = Yes

And how are you reloading your aliases in your secondary shells?

Your command:

echo test|base64|base64 -d

does this:

1) TCC looks for the first base64, discovers it's an alias, and expands it.
2) It then creates a child TCC process and connects a pipe between the current TCC process and the child TCC process, that is passed the command line "openssl base64|base64 -d".
3) The child process then tries to find an alias "base64" and create another child process to connect another pipe.

If you haven't loaded your local aliases in those child pipe processes, they are not going to be able to expand "base64".

This should work if you use DOS pipes, or you have your TCSTART reload aliases in the child pipe processes.
 
Jun 24, 2008
223
0
Siegen, Germany
1) Thanks.
2) The question for me is however, why wouldn't TCC expand all the aliases on the command line, given the fact that a "LocalAliases" setting exists, and that "base64" is a valid alias in the scope of the current shell?
 

rconn

Administrator
Staff member
May 14, 2008
12,345
150
TCC only expands aliases for the current command. It would be a very bad thing for it to try to expand aliases in subsequent compound commands -- those commands might well be adding / changing / deleting aliases. Or you might be passing commands to another shell (CMD, PowerShell, bash, etc.) that doesn't expect or want TCC to be preprocessing its command line.
 
Similar threads
Thread starter Title Forum Replies Date
Stefano Piccardi setdos /x-4 affects alias expansion v10 vs v13 Support 8
mikea TCC: Disabling alias expansion with '*' Support 1
nikbackm Alias expansion and switch character Support 2
D Can alias pass parameters to for command? Support 3
Jay Sage Issue with CD_ENTER Alias Support 37
Jay Sage Issue with CD_LEAVE Alias Support 3
Jay Sage WAD Failure of Alias Command with /Z Option Support 14
R @select inside alias gives different (insanely small) window Support 7
kb6ojs ALIAS with multiple commands? Support 9
vefatica Can I alias @@Ctrl-Shift-Alt-u? Support 4
D Alias with setdos no longer works Support 21
vefatica TPIPE in an alias? Support 2
Peter Murschall TCC V26.01.3x Debugging has problems with Alias /R Support 1
Peter Murschall CMDebug 26.01.37 has problems with Alias Support 21
samintz How to? Alias or prompt? Support 1
MickeyF expand alias in cmdline with Ctrl-F in TCC Support 21
Jay Sage Directory Alias Access to FTP Servers Support 2
rps How to? Shralias and producing history.sav, alias.sav .. Support 6
J Alias @@F5 hotkey Support 2
vefatica alias.sav not accurate Support 8
Joe Caverly Using a Directory Alias with @iniwrite fails Support 14
N multiple command alias and redirection Support 0
vefatica SETLOCAL ... ALIAS ... pipes Support 2
B TCC 21.01.50 Problem with ALIAS /r and SET /r Support 2
rps How to? Alias/Command line use of *log on/off Support 2
MickeyF alias terminating before it should Support 3
JohnQSmith ALIAS /R in TCSTART.BTM Support 9
D Alias in batch file Support 3
vefatica Can't execute @ALIAS[...] Support 5
E How to? Load Alias File on Startup Support 3
I Windows 10 console does not allow alt-F4 alias to complete Support 1
MickeyF create an alias with optional parameter Support 4
T scrput `` in alias or function Support 2
vefatica Alias works differenltly v16 vs. v17 Support 13
B Alias with multi line definitions not assigned Support 6
jbanaszczyk Alias with space in the name Support 3
jbanaszczyk Alias for internal command Support 8
D Clear alias parameters Support 7
T Fixed multi-line alias issue Support 13
keithg1964 WAD 16.0027 Alias /rz bug Support 8
R In addition to ALIAS /Z and FUNCTION /Z, HISTORY /Z? Support 1
tmaynard How to? Control-U alias for Escape (command line editing) Support 5
C Alias ListEmptyFldrs=??? Support 4
M How to? Put logic into an alias... Support 6
G How to? v15: Can't alias Alt-Z Support 7
nikbackm v15: Problem with ALIAS in command group Support 10
vefatica WAD DO i=1 TO %# in an alias? Support 9
cgunhouse Directory Alias Issue Support 7
C CMD window size and post_exec alias ? Support 6
deleyd How to? Alias in TCMD.INI file? Support 2

Similar threads