C shell limitations

The following are limitations of the C shell.

  • Words can be no longer than 1024 bytes.
  • Argument lists are limited to ARG_MAX bytes. Values for the ARG_MAX variable are found in the /usr/include/sys/limits.h file.
  • The number of arguments to a command that involves file name expansion is limited to 1/6th the number of bytes allowed in an argument list.
  • Command substitutions can substitute no more bytes than are allowed in an argument list.
  • To detect looping, the shell restricts the number of alias substitutions on a single line to 20.
  • The csh command does not support file name expansion based on equivalence classification of characters.
  • File descriptors (other than standard in, standard out, and standard error) opened before csh executes any application are not available to that application.