Tcsh

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

tcsh (“tee-see-shell”, “tee-shell”, o como “tee see ess aitch”, tcsh) es un shell de Unix basado en y compatible con versiones anteriores del shell C (csh).

Concha

Es esencialmente el shell C con terminación de línea de comandos programable, edición de línea de comandos y algunas otras funciones. A diferencia de otros shells comunes, las funciones no se pueden definir en un script tcsh y el usuario debe usar alias en su lugar (como en csh). Es el shell raíz nativo para sistemas basados en BSD como FreeBSD.

tcsh agregó conceptos de edición de línea de comando y finalización de comando y nombre de archivo tomados del sistema operativo TENEX, que es la fuente de la "t". Debido a que solo agregó funcionalidad y no cambió lo que había allí, tcsh siguió siendo compatible con versiones anteriores del shell C original. Aunque comenzó como una rama lateral del árbol fuente csh original que había creado Bill Joy, tcsh es ahora la rama principal para el desarrollo continuo.

tcsh es muy estable, pero siguen apareciendo nuevos lanzamientos aproximadamente una vez al año, que consisten principalmente en correcciones de errores menores.

En muchos sistemas, como macOS y Red Hat Linux, csh es en realidad tcsh. A menudo, uno de los dos archivos es un enlace físico o un enlace simbólico al otro, de modo que cualquiera de los nombres se refiere a la misma versión mejorada del shell C.

En Debian y algunos derivados (incluyendo Ubuntu), hay dos paquetes diferentes: csh y tcsh. El primero se basa en la versión BSD original de csh y el segundo es el tcsh mejorado.

Historia

La "t" en tcsh proviene de la "T" en TENEX, un sistema operativo que inspiró a Ken Greer de la Universidad Carnegie Mellon, el autor de tcsh, con su función de finalización de comandos. Greer comenzó a trabajar en su código para implementar la finalización del nombre de archivo al estilo Tenex en septiembre de 1975, y finalmente lo fusionó con el shell C en diciembre de 1981. Mike Ellis de Fairchild A.I. Labs agregó la finalización del comando en septiembre de 1983. El 3 de octubre de 1983, Greer publicó la fuente en el grupo de noticias net.sources.

Características importantes

  • Historia del comando
    • El incorporado history comando muestra los comandos previamente introducidos
    • Utilización / en la línea de comandos para permitir al usuario seleccionar un comando de la historia para editar/ejecutar
    • Invocando comandos anteriores usando la historia del comando
      • !! ejecuta el comando anterior
      • !n ejecuta el comando nth que fue ejecutado previamente
      • !-n ejecuta el comando que fue ejecutado n comandos ago
      • !string ejecuta el comando más recientemente ejecutado que comienza con cuerda
      • !?string ejecuta el comando más recientemente ejecutado que contiene cuerda
    • Usando historia en nuevos comandos
      • !* - se refiere a todos los argumentos del comando anterior
      • !$ - se refiere al último argumento del comando anterior
      • !^ - se refiere al primer argumento del comando anterior
      • !:n - se refiere a la nT argumentación del comando anterior
      • !:m-n - se refiere al mT a través de nT argumentos del comando anterior
      • !:n-$ - se refiere a la nT a través del último argumento del comando anterior
  • Edición de la línea de comandos
  • Completación automática de nombres de archivos y variables, así como terminación programable en la línea de comandos
  • Selectores de argumentos Alias; la capacidad de definir un alias para tomar argumentos suministrados a él y aplicarlos a los comandos a los que se refiere. Tcsh es el único shell que proporciona esta característica.
    • !# - selector de argumentos para todos los argumentos, incluyendo el alias/command mismo; los argumentos no necesitan ser suministrados.
    • !* - selector de argumentos para todos los argumentos, excluyendo el alias/command; los argumentos no necesitan ser suministrados.
    • !$ - selector de argumentos para el último argumento; el argumento no necesita ser suministrado, pero si no se suministra, el nombre de alias se considera el último argumento.
    • !^ - selector de argumentos para el primer argumento; argumento DEBE ser suministrado.
    • !:n - selector de argumentos para la nT argumentación; argumento DEBE ser suministrado; n=0 se refiere al nombre alias/command.
    • !:m-n - selector de argumentos para los argumentos de mT a la nT; argumentos DEBE ser suministrados.
    • !:n-$ - selector de argumentos para los argumentos de la nT al último; al menos el argumento N DEBE ser suministrado.
    • !:n* - selector de argumentos para los argumentos de la nT hasta el último; no se necesitan argumentos suficientes.
      #Alias el comando cd para que cuando cambies de directorio, el contenido se muestre inmediatamente.alias cd 'cd !*
  • Wildcard matching
    si () "$input" =~ [0-9]* ) entonces eco "la entrada comienza con un entero"más eco "la entrada no comienza con un entero"endif
  • Control de empleo
  • El incorporado where Comando. Funciona como el which comando pero muestra Todos localizaciones del comando objetivo en los directorios especificados en $PATH en lugar de sólo el que se utilizará.

Despliegue

Las primeras versiones de Mac OS X incluían tcsh como shell predeterminado, pero el valor predeterminado para las cuentas nuevas pasó a ser bash a partir de la 10.3 y luego zsh a partir de la 10.15. (Todavía se proporciona tcsh, y la actualización del sistema operativo no cambia el shell de ninguna cuenta existente). tcsh es el shell raíz predeterminado de FreeBSD (el shell de usuario predeterminado está basado en POSIX) y sus descendientes como DragonFly BSD y DesktopBSD.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save