Skip to main content

Why No 4Linux? (Yet?)

I’ve had users requesting a Linux version of 4NT / TCC for many years, because they:

  1. Had to support a mixed Linux / Windows environment, and/or
  2. Were switching from Windows to Linux and wanted to move their aliases & batch files without having to start from scratch with a new shell.

#1 is already addressed (albeit somewhat clumsily) by packages such as Cygwin or MKS.

#2 has never constituted enough users to support the development of a new interpreter.

Several years ago I ported the current version of 4NT (now called TCC) to Linux but eventually decided not to release it. There are a number of problems with attempting to convert Windows syntax to Linux, including:

  1. The switch character is different (/ vs. -)
  2. The path separator is different (\ vs. /)
  3. The variable syntax is different (%var vs. $var)
  4. Linux doesn’t use drive names (i.e., C:)

A “4Linux” based on the Windows syntax would still require editing existing aliases & batch files (though not as much as when converting to a Linux shell) and its syntax would of necessity be clumsy enough to scare off any potential converts from bash, tcsh, or zsh. And if someone really wants to run TCC in Linux, it’s already possible using Wine (

Given the plethora of shells in Linux, is there any reason to write a new one? And will Linux users pay for a command interpreter when they’re used to getting them for free? In the past, my answer was no, but I’m rethinking it now …