InglésFrancésEspañol

Ad


icono de página de OnWorks

bsd-csh: en línea en la nube

Ejecute bsd-csh en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando bsd-csh que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


csh - un shell (intérprete de comandos) con sintaxis similar a C

SINOPSIS


csh [-bcefimnstVvXx] [argumento ...]
csh [-l]

DESCRIPCIÓN


csh es un intérprete de lenguaje de comandos que incorpora un mecanismo de historial (ver Historia
sustituciones), instalaciones de control de trabajos (ver Empleo), nombre de archivo interactivo y nombre de usuario
finalización (ver Archive nombre terminación) y una sintaxis similar a C. Se utiliza tanto como
shell de inicio de sesión interactivo y un procesador de comandos de script de shell.

Argumento lista tratamiento
Si el primer argumento (argumento 0) del shell es un guión ('-'), entonces este es un shell de inicio de sesión.
También se puede especificar un shell de inicio de sesión invocando el shell con el -l bandera como la única
argumento.

El resto de los argumentos de las banderas se interpretan de la siguiente manera:

-b Esta bandera fuerza una "interrupción" del procesamiento de opciones, lo que provoca más shell
argumentos a ser tratados como argumentos que no son de opción. Los argumentos restantes no serán
interpretado como opciones de shell. Esto puede usarse para pasar opciones a un script de shell
sin confusiones ni posibles subterfugios. El shell no ejecutará un set-user-ID
script sin esta opción.

-c Los comandos se leen del siguiente argumento (único) que debe estar presente. Alguna
los argumentos restantes se colocan en argv.

-e El shell sale si cualquier comando invocado termina de forma anormal o produce un valor distinto de cero.
estado de salida.

-f El shell se iniciará más rápido, porque no buscará ni ejecutará comandos
del archivo .cshrc en el directorio de inicio del invocador. Nota: si el medio ambiente
La variable HOME no está configurada, el inicio rápido es el predeterminado.

-i El shell es interactivo y solicita su entrada de nivel superior, incluso si no parece
ser una terminal. Los shells son interactivos sin esta opción si sus entradas y
las salidas son terminales.

-l El shell es un shell de inicio de sesión (solo se aplica si -l es la única bandera especificada).

-m Leer .cshrc, independientemente de su propietario y grupo. Esta opción es peligrosa y debería
solo ser utilizado por su(1).

-n Los comandos se analizan, pero no se ejecutan. Esto ayuda en la verificación sintáctica de shell
guiones. Cuando se usa de forma interactiva, el caparazón se puede terminar presionando control-D
(carácter de fin de archivo), ya que salida no trabajará.

-s La entrada de comando se toma de la entrada estándar.

-t Se lee y ejecuta una sola línea de entrada. Se puede usar una barra invertida ('\') para escapar
la nueva línea al final de esta línea y continúe en otra línea.

-V Causa el verboso variable a establecer incluso antes .cshrc es ejecutado.

-v Causa el verboso variable a establecer, con el efecto de que la entrada del comando se repita
después de la sustitución de la historia.

-X Causa el echo variable a establecer incluso antes .cshrc es ejecutado.

-x Causa el echo variable que se establecerá, de modo que los comandos se repitan inmediatamente antes
ejecución.

Después de procesar los argumentos de la bandera, si los argumentos permanecen pero ninguno de los -c, -i, -so -t
se dieron opciones, el primer argumento se toma como el nombre de un archivo de comandos que se
ejecutado. El shell abre este archivo y guarda su nombre para una posible resustitución por
'$ 0'. Dado que muchos sistemas utilizan las carcasas estándar de la versión 6 o la versión 7,
Los scripts no son compatibles con este shell, el shell ejecutará un shell "estándar".
si el primer carácter de un script no es una marca de almohadilla ('#'); es decir, si el guión no
comience con un comentario. Los argumentos restantes inicializan la variable argv.

Una instancia de csh comienza ejecutando comandos desde el archivo /etc/csh.cshrc y, si esto es
un shell de inicio de sesión, /etc/csh.login. Luego ejecuta comandos desde .cshrc en el directorio de inicio
del invocador y, si se trata de un shell de inicio de sesión, el archivo .acceso en el mismo lugar. Está
típico de los usuarios en CRT para poner el comando pocilga crt en su .acceso archivo, y también
invocar tset(1) allí.

En el caso normal, el shell comenzará a leer comandos desde el terminal, solicitando con
'%.' Procesamiento de argumentos y uso del shell para procesar archivos que contienen comando
Los guiones se describirán más adelante.

El shell realiza repetidamente las siguientes acciones: se lee una línea de entrada de comando y
dividido en "palabras". Esta secuencia de palabras se coloca en la lista del historial de comandos y
analizado. Finalmente, se ejecuta cada comando en la línea actual.

Cuando un shell de inicio de sesión termina, ejecuta comandos desde los archivos .cerrar sesión en la casa del usuario
directorio y /etc/csh.cerrar sesión.

Léxico estructura
El shell divide las líneas de entrada en palabras en espacios en blanco y tabulaciones con las siguientes excepciones.
Los caracteres '&', '|', ';', '<', '>', '(' y ')' forman palabras separadas. Si se dobla en
'&&', '||', '<<' o '>>', estos pares forman palabras individuales. Estos metacaracteres del analizador pueden
formar parte de otras palabras, o impedir su significado especial, precediéndolas con
una barra invertida ('\'). Una nueva línea precedida por una '\' equivale a un espacio en blanco.

Las cadenas encerradas en pares coincidentes de citas, '' ',' '' o '"', forman parte de una palabra;
Los metacaracteres de estas cadenas, incluidos los espacios en blanco y las tabulaciones, no forman palabras separadas.
Estas citas tienen una semántica que se describirá más adelante. Dentro de pares de '' 'o' "'
caracteres, una nueva línea precedida por una '\' da un verdadero carácter de nueva línea.

Cuando la entrada del shell no es una terminal, el carácter '#' introduce un comentario que
continúa hasta el final de la línea de entrada. Este significado especial se evita cuando está precedido por
'\' y entre comillas usando '`', '' 'y'" '.

Comandos
Un comando simple es una secuencia de palabras, la primera de las cuales especifica el comando a ser
ejecutado. Un comando simple o una secuencia de comandos simples separados por '|' caracteres
forma una tubería. La salida de cada comando en una canalización está conectada a la entrada del
Siguiente. Las secuencias de canalizaciones pueden estar separadas por ';', y luego se ejecutan secuencialmente.
Se puede ejecutar una secuencia de canalizaciones sin esperar inmediatamente a que termine por
siguiéndolo con un '&'.

Cualquiera de los anteriores se puede colocar en '(' ')' para formar un comando simple (que puede ser un componente
de una tubería, por ejemplo). También es posible separar las tuberías con '||' o '&&'
mostrando, como en el lenguaje C, que el segundo debe ejecutarse solo si el primero falla o
tiene éxito, respectivamente. (Ver Expresiones.)

Empleo
El caparazón asocia un trabajo con cada tubería. Mantiene una tabla de trabajos actuales, impresos por
las recibas nuevas vacantes en tu correo comando, y les asigna números enteros pequeños. Cuando se inicia un trabajo
De forma asincrónica con '&', el shell imprime una línea que se parece a:

[1] 1234

mostrando que el trabajo que se inició de forma asincrónica era el trabajo número 1 y tenía uno (top-
level) proceso, cuyo ID de proceso era 1234.

Si está ejecutando un trabajo y desea hacer otra cosa, puede presionar ^Z (control-Z), que
envía una señal SIGSTOP al trabajo actual. El shell normalmente mostrará que el trabajo
ha sido "Detenido", e imprima otro mensaje. A continuación, puede manipular el estado de este
trabajo, poniéndolo en el fondo con el bg comando, o ejecutar algunos otros comandos y
eventualmente traer el trabajo de vuelta al primer plano con el fg mando. A ^Z Toma efecto
inmediatamente y es como una interrupción en el sentido de que la salida pendiente y la entrada no leída se descartan
cuando se escribe. Hay otra clave especial ^Y que no genera una señal SIGSTOP
hasta que un programa intente leer(2) eso. Esta solicitud se puede escribir con anticipación cuando
ha preparado algunos comandos para un trabajo que desea detener después de haberlos leído.

Un trabajo que se está ejecutando en segundo plano se detendrá si intenta leer desde el terminal.
Normalmente se permite que los trabajos en segundo plano produzcan resultados, pero esto se puede desactivar dando
el comando pocilga para detener. Si configura esta opción tty, los trabajos en segundo plano se detendrán cuando
intentan producir una salida como lo hacen cuando intentan leer la entrada.

Hay varias formas de hacer referencia a los trabajos en el shell. El personaje '%' presenta un trabajo
nombre. Si desea hacer referencia al trabajo número 1, puede nombrarlo como '% 1'. Solo nombrando un trabajo
lo trae al primer plano; por lo tanto %1 es sinónimo de fg %1, devolviendo el trabajo número 1 a
el primer plano. Del mismo modo, diciendo %1 & reanuda el trabajo número 1 en segundo plano. Los trabajos pueden
también ser nombrados por prefijos de la cadena escrita para comenzar, si estos prefijos son
inequívoco por lo tanto %ex normalmente reiniciaría un suspendido ex(1) trabajo, si solo hubiera uno
trabajo suspendido cuyo nombre comenzaba con la cadena "ex". También es posible decir %?cuerda,
que especifica un trabajo cuyo texto contiene cadena, si solo hay uno de esos trabajos.

El caparazón mantiene una noción de los trabajos actuales y anteriores. En la salida sobre trabajos, el
el trabajo actual está marcado con un '+' y el trabajo anterior con un '-'. La abreviatura '% +'
se refiere al trabajo actual y '% -' se refiere al trabajo anterior. Para una estrecha analogía con el
sintaxis de la historia mecanismo (descrito a continuación), '%%' es también un sinónimo del actual
trabajo.

El mecanismo de control del trabajo requiere que el pocilga(1) opción nueva ser establecido. Es un artefacto
de un nueva implementación del controlador tty que permite la generación de caracteres de interrupción
desde el teclado para indicarle a los trabajos que se detengan. Ver pocilga(1) para obtener detalles sobre las opciones de configuración en el
nuevo controlador tty.

Estado la presentación de informes
El shell aprende inmediatamente cada vez que un proceso cambia de estado. Normalmente te informa
siempre que un trabajo se bloquee de modo que no sea posible seguir avanzando, pero solo justo antes
imprime un mensaje. Esto se hace para que no interfiera con su trabajo. Si,
sin embargo, estableces la variable de shell notificar, el shell le notificará inmediatamente de los cambios.
de estatus en trabajos de fondo. También hay un comando de shell notificar que marca un single
proceso para que sus cambios de estado se notifiquen inmediatamente. Por defecto notificar marcas
el proceso actual; simplemente di notificar después de iniciar un trabajo en segundo plano para marcarlo.

Cuando intente salir del caparazón mientras los trabajos están detenidos, se le advertirá que
trabajos detenidos ”. Puede utilizar el recibas nuevas vacantes en tu correo comando para ver cuáles son. Si intentas salir de nuevo
Inmediatamente, el shell no le advertirá por segunda vez, y los trabajos suspendidos serán
terminado.

Archive nombre terminación
Cuando la función de finalización de nombre de archivo está habilitada estableciendo la variable de shell archivoc (consulta:
set), csh Completará de forma interactiva los nombres de archivo y los nombres de usuario a partir de prefijos únicos cuando
se ingresan desde la terminal seguidos por el carácter de escape (la tecla de escape, o
control-[). Por ejemplo, si el directorio actual se parece a

Bandeja DSC.OLD cmd lib xmpl.c
DSC.NUEVO caosnet cmtest correo xmpl.o
banco clase dev mbox xmpl.out

y la entrada es

% vi ch

csh completará el prefijo "ch" para el único nombre de archivo coincidente "chaosnet", cambiando el
línea de entrada a

% vi red de caos

Sin embargo, dado

% vi D

csh solo expandirá la entrada a

%vi DSC.

y sonará la campana de la terminal para indicar que la expansión está incompleta, ya que no
son dos nombres de archivo que coinciden con el prefijo 'D'.

Si un nombre de archivo parcial va seguido del carácter de fin de archivo (generalmente control-D), entonces,
en lugar de completar el nombre, csh enumerará todos los nombres de archivo que coincidan con el prefijo. Para
ejemplo, la entrada

% vi D

hace que todos los archivos que comienzan con 'D' aparezcan en la lista:

DSC.NUEVO DSC.ANTERIOR

mientras que la línea de entrada permanece sin cambios.

El mismo sistema de escape y final de archivo también se puede utilizar para expandir nombres de usuario parciales, si
la palabra que se debe completar (o listar) comienza con el carácter de tilde ('~'). Por ejemplo,
escribiendo

cd ~ ro

puede producir la expansión

cd ~ raíz

El uso de la campana del terminal para señalar errores o coincidencias múltiples puede inhibirse mediante
establecer la variable no bip.

Normalmente, todos los archivos del directorio en particular son candidatos para completar el nombre. Archivos
con ciertos sufijos se puede excluir de la consideración estableciendo la variable ignorar a
la lista de sufijos que se ignorarán. Por tanto, si ignorar es establecido por el comando

% establecer fignore = (.o .out)

luego escribiendo

% vi x

resultaría en la finalización de

% vi xmpl.c

ignorando los archivos "xmpl.o" y "xmpl.out". Sin embargo, si la única terminación posible
requiere no ignorar estos sufijos, entonces no se ignoran. Además, ignorar
no afecta la lista de nombres de archivos por control-D. Todos los archivos se enumeran independientemente de su
sufijos

Sustituciones
Ahora describimos las diversas transformaciones que realiza el shell en la entrada en el orden en
que ocurren.

Historia sustituciones
Las sustituciones del historial colocan las palabras de la entrada de comandos anterior como partes de nuevos comandos,
facilitando la repetición de comandos, repetir argumentos de un comando anterior en el actual
comando, o corregir errores de ortografía en el comando anterior con poco tecleo y un alto
grado de confianza. Las sustituciones de historia comienzan con el carácter '!' y puede comenzar
dondequiera en el flujo de entrada (con la condición de que no no nido). Esta '!' quizás
precedido por una '\' para evitar su significado especial; por conveniencia, un '!' se pasa el personaje
sin cambios cuando va seguido de un espacio en blanco, tabulación, nueva línea, '=' o '('. (Sustituciones del historial
también ocurren cuando una línea de entrada comienza con '^'. Esta abreviatura especial se describirá
más tarde.) Cualquier línea de entrada que contenga la sustitución del historial se repite en el terminal antes
se ejecuta como se hubiera escrito sin la sustitución del historial.

Los comandos ingresados ​​desde el terminal que constan de una o más palabras se guardan en el historial
lista. Las sustituciones del historial reintroducen secuencias de palabras de estos comandos guardados
en el flujo de entrada. El tamaño de la lista del historial está controlado por el historia variable;
el comando anterior siempre se conserva, independientemente del valor de la variable de historial.
Los comandos se numeran secuencialmente desde 1.

Para mayor precisión, considere la siguiente salida de la historia mando:

09 escribe michael
10 ex escribir c
11 gato oldwrite.c
12 diff * escritura.c

Los comandos se muestran con sus números de evento. Por lo general, no es necesario utilizar event
números, pero el número de evento actual puede formar parte del mensaje colocando un '!' en el
cadena de solicitud.

Con el evento actual 13 podemos referirnos a eventos anteriores por el número de evento '! 11', relativamente
como en '! -2' (refiriéndose al mismo evento), con un prefijo de una palabra de comando como en '! d' para
evento 12 o '! wri' para el evento 9, o por una cadena contenida en una palabra en el comando como en
'!? mic?' también refiriéndose al evento 9. Estas formas, sin más cambios, simplemente reintroducen
las palabras de los eventos especificados, cada una separada por un solo espacio en blanco. Como caso especial,
'!!' se refiere al comando anterior; por lo tanto '!!' solo es un rehacer.

Para seleccionar palabras de un evento, podemos seguir la especificación del evento con un ':' y un
designador de las palabras deseadas. Las palabras de una línea de entrada se numeran desde 0, la primera
(generalmente comando) la palabra es 0, la segunda palabra (primer argumento) es 1, etc.
los designadores de palabras son:

0 primera palabra (comando)
n n'el argumento
^ primer argumento; es decir, '1'
$ último argumento
% palabra que coincide con (inmediatamente anterior)?s? buscar
xy rango de palabras
-y abrevia '0-y'
* abrevia '^ - $', o nada si solo 1 palabra en el evento
x* abrevia 'x- $'
x- como 'x *' pero omitiendo la palabra '$'

El ':' que separa la especificación del evento del designador de palabra se puede omitir si el
El selector de argumentos comienza con un '^', '$', '*', '-' o '%'. Después de la palabra opcional
designador, se puede colocar una secuencia de modificadores, cada uno precedido por un ':'. El seguimiento
los modificadores están definidos:

h Elimina un componente de nombre de ruta al final, dejando el encabezado.
r Elimine un componente '.xxx' final, dejando el nombre raíz.
e Elimine todo excepto la extensión '.xxx'.
s/ l / r / Suplente l para r.
t Elimina todos los componentes de la ruta de acceso principales, dejando la cola.
& Repetir la sustitución anterior.
g Aplicar el cambio una vez en cada palabra, anteponiendo lo anterior; huevo&'.
a Aplicar el cambio tantas veces como sea posible en una sola palabra, anteponiendo el
encima. Se puede utilizar junto con 'g' para aplicar una sustitución globalmente.
p Imprima la nueva línea de comando pero no la ejecute.
q Cite las palabras sustituidas, evitando más sustituciones.
x Como 'q', pero se divide en palabras en espacios en blanco, tabulaciones y nuevas líneas.

A menos que esté precedido por una 'g', el cambio se aplica solo a la primera palabra modificable. Con
sustituciones, es un error que ninguna palabra sea aplicable.

El lado izquierdo de las sustituciones no son expresiones regulares en el sentido de los editores,
sino cadenas. Se puede utilizar cualquier carácter como delimitador en lugar de '/'; a '\'
cita el delimitador en el l y r instrumentos de cuerda. El carácter '&' en el lado derecho
es reemplazado por el texto de la izquierda. Una '\' también cita '&'. Un nulo l ('//') usa el
cadena anterior ya sea de un l o de una cadena de escaneo contextual s en '!?s\? '. los
El delimitador final en la sustitución se puede omitir si sigue inmediatamente una nueva línea como
puede el final '?' en un escaneo contextual.

Se puede proporcionar una referencia histórica sin una especificación de evento; por ejemplo, '! $'. Aquí el
La referencia es al comando anterior a menos que haya ocurrido una referencia al historial anterior en el
misma línea en cuyo caso este formulario repite la referencia anterior. Así, "!? Foo? ^! $" Da
los primeros y últimos argumentos del comando que coinciden con "? foo?".

Se produce una abreviatura especial de una referencia histórica cuando el primer carácter no en blanco de
una línea de entrada es un '^'. Esto es equivalente a "!: S ^" que proporciona una abreviatura conveniente para
sustituciones en el texto de la línea anterior. Por lo tanto ^ lb ^ lib corrige la ortografía de "lib" en
el comando anterior. Finalmente, una sustitución de historial puede estar rodeada de '{' y '}' si
necesario aislarlo de los personajes que siguen. Por lo tanto, después de ls -ld ~ paul Podríamos
do !{la que hacer ls -ld ~ Paula, mientras !la buscaría un comando que comience con "la".

Citas ´ y "
La cita de cadenas por '' 'y' "'se puede utilizar para evitar que todos o algunos de los restantes
sustituciones. Las cadenas encerradas entre '' 'no se pueden interpretar más.
Las cadenas encerradas entre '"' se pueden expandir como se describe a continuación.

En ambos casos, el texto resultante se convierte en (todo o parte de) una sola palabra; solo en uno especial
caso (ver Comando Sustitución a continuación), ¿una cadena entre comillas produce partes de más de una
palabra; '' 'Las cadenas entre comillas nunca lo hacen.

alias sustitución
El shell mantiene una lista de alias que puede establecer, mostrar y modificar el
alias y unalias comandos. Después de escanear una línea de comando, se analiza en distintos
comandos y la primera palabra de cada comando, de izquierda a derecha, se comprueba para ver si tiene un
alias. Si es así, el texto que es el alias de ese comando se vuelve a leer con la
mecanismo histórico disponible como si ese comando fuera la línea de entrada anterior. los
las palabras resultantes reemplazan la lista de comandos y argumentos. Si no se hace referencia al
lista del historial, la lista de argumentos no se modifica.

Por tanto, si el alias de "ls" es "ls -l", el comando ls / usr se mapearía a ls -l / usr, la
lista de argumentos aquí sin perturbaciones. Del mismo modo, si el alias de "buscar" era "grep! ^
/ Etc / passwd" luego búsqueda proyecto de ley se mapearía a grep proyecto de ley / Etc / passwd.

Si se encuentra un alias, se realiza la transformación de palabra del texto de entrada y
El proceso de alias comienza de nuevo en la línea de entrada reformada. Se evita la formación de bucles si la primera
La palabra del nuevo texto es la misma que la anterior marcándola para evitar más alias.
Se detectan otros bucles y provocan un error.

Tenga en cuenta que el mecanismo permite que los alias introduzcan la metasintaxis del analizador. Por lo tanto, podemos alias
Imprimir 'pr \! * | lpr ' para hacer un comando que prSon sus argumentos para la impresora de línea.

Variable sustitución
El shell mantiene un conjunto de variables, cada una de las cuales tiene como valor una lista de cero o más
palabras. Algunas de estas variables las establece el shell o hace referencia a ellas. Por ejemplo,
las argv variable es una imagen de la lista de argumentos del shell, y las palabras de esta variable
se hace referencia al valor de forma especial.

Los valores de las variables pueden visualizarse y cambiarse utilizando el set y desarmado comandos.
De las variables a las que hace referencia el shell, algunas son conmutadores; al caparazón no le importa qué
su valor es, solo si están establecidos o no. Por ejemplo, el verboso variable es una
alternar que hace que se repita la entrada del comando. La configuración de esta variable resulta de
las -v opción de línea de comandos.

Otras operaciones tratan las variables numéricamente. los @ El comando permite cálculos numéricos para
ser realizado y el resultado asignado a una variable. Los valores de las variables son, sin embargo, siempre
representado como (cero o más) cadenas. A los efectos de las operaciones numéricas, el nulo
cadena se considera cero, y la segunda y las palabras adicionales de valores de varias palabras son
ignorado

Después de que la línea de entrada tenga un alias y se analice, y antes de que se ejecute cada comando, la variable
se realiza la sustitución, tecleada por caracteres '$'. Esta expansión se puede prevenir
antes del '$' con un '\' excepto entre comillas dobles (`" '), donde hacerlo ocurre, y
entre comillas simples (`` ''), donde nunca ocurre. Las cadenas entre comillas invertidas (``) son
interpretado más tarde (ver Comando sustitución a continuación), por lo que la sustitución '$' no se produce allí
hasta más tarde, en todo caso. Un '$' se pasa sin cambios si va seguido de un espacio en blanco, tabulación o al final de
la línea.

Las redirecciones de entrada / salida se reconocen antes de la expansión variable y son variables
expandido por separado. De lo contrario, el nombre del comando y la lista completa de argumentos se expanden
juntos. Por tanto, es posible que la primera palabra (comando) (hasta este punto) genere más
de una palabra, la primera de las cuales se convierte en el nombre del comando, y el resto se convierte en
argumentos

A menos que esté entre '"' o se le dé el modificador ': q', los resultados de la sustitución de variables pueden
eventualmente se sustituirá el comando y el nombre de archivo. Dentro de '"', una variable cuyo valor consiste
de varias palabras se expande a (una parte de) una sola palabra, con las palabras de la variable
valor separado por espacios en blanco. Cuando se aplica el modificador ': q' a una sustitución, la variable
se expandirá a varias palabras con cada palabra separada por un espacio en blanco y entre comillas para evitar
comando posterior o sustitución de nombre de archivo.

Se proporcionan las siguientes metasecuencias para introducir valores de variables en el shell
aporte. Salvo que se indique lo contrario, es un error hacer referencia a una variable que no está establecida.

$ nombre
$ {nombre}
Se reemplazan por las palabras del valor de la variable. nombre , cada uno separado por un
blanco. Los tirantes aíslan nombre de los siguientes personajes que de otro modo serían
Parte de ello. Las variables de shell tienen nombres que constan de hasta 20 letras y
dígitos que comienzan con una letra. El carácter de subrayado se considera un
carta. Si nombre no es una variable de shell, pero se establece en el entorno, entonces
ese valor se devuelve (pero los modificadores ':' y las otras formas dadas a continuación son
no disponible aquí).
$ nombre [selector]
$ {nombre [selector]}
Puede usarse para seleccionar solo algunas de las palabras del valor de nombre .
El selector está sujeto a la sustitución '$' y puede constar de un solo número
o dos números separados por un '-'. La primera palabra del valor de una variable es
numerado '1'. Si se omite el primer número de un rango, el valor predeterminado es '1'.
Si se omite el último número de un rango, el valor predeterminado es '$ # name'. los
selector '*' selecciona todas las palabras. No es un error que un rango esté vacío si
el segundo argumento se omite o está dentro del rango.
$ # nombre
$ {# nombre}
Da el número de palabras de la variable. Esto es útil para su uso posterior en un
“$ Argv [selector]”.
$ 0 Sustituye el nombre del archivo desde el que se lee la entrada de comando. Un
se produce un error si no se conoce el nombre.
número $
$ {número}
Equivalente a “$ argv [número]”.
$ * Equivalente a “$ argv [*]”.

Los modificadores ': e', ': h', ': t', ': r', ': q' y ': x' pueden aplicarse a las sustituciones
arriba como may ': gh', ': gt' y ': gr'. Si aparecen llaves '{' '}' en el formulario de comando, entonces el
los modificadores deben aparecer entre llaves. La implementación actual permite solo un ':'
modificador en cada expansión '$'.

Las siguientes sustituciones no se pueden modificar con modificadores ':'.
$? nombre
$ {? name}
Sustituye la cadena "1" si el nombre está configurado, "0" si no lo está.
$? 0 Sustituye a '1' si se conoce el nombre de archivo de entrada actual, a '0' si no lo es.
$$ Sustituye el número de proceso (decimal) del shell (padre). Hacer NO utilizan el
este mecanismo para generar nombres de archivos temporales; ver mktemp(1) en cambio.
PS Sustituya el número de proceso (decimal) del último proceso en segundo plano iniciado
por este caparazón.
$ <Sustituye una línea de la entrada estándar, sin más interpretación.
Se puede usar para leer desde el teclado en un script de shell.

Comando y nombre de archivo sustitución
Las sustituciones restantes, sustitución de comando y nombre de archivo, se aplican de forma selectiva a
los argumentos de los comandos integrados. Por selectivamente, queremos decir que porciones de expresiones
que no son evaluados no están sujetos a estas expansiones. Para comandos que no son
interno al shell, el nombre del comando se sustituye por separado de la lista de argumentos.
Esto ocurre muy tarde, después de que se realiza la redirección de entrada-salida, y en un hijo del
cáscara principal.

Comando sustitución
La sustitución de comandos se muestra mediante un comando entre '' '. La salida de tal comando
normalmente se divide en palabras separadas en espacios en blanco, tabulaciones y nuevas líneas, siendo las palabras nulas
descartado; este texto luego reemplaza la cadena original. Entre comillas dobles (`" '), solo
las nuevas líneas fuerzan nuevas palabras; se conservan los espacios en blanco y las pestañas.

En cualquier caso, la única nueva línea final no fuerza una nueva palabra. Tenga en cuenta que es así
posible que una sustitución de comando produzca solo una parte de una palabra, incluso si el comando
produce una línea completa.

Nombre del archivo sustitución
Si una palabra contiene alguno de los caracteres '*', '?', '[' O '{', o comienza con el carácter
'~', entonces esa palabra es candidata para la sustitución del nombre de archivo, también conocida como "globbing".
Esta palabra se considera entonces como un patrón y se reemplaza con una lista ordenada alfabéticamente de
nombres de archivo que coincidan con el patrón. En una lista de palabras que especifican la sustitución del nombre de archivo,
es un error porque ningún patrón coincide con un nombre de archivo existente, pero no es necesario para cada
patrón para que coincida. Solo los metacaracteres '*', '?' Y '[' implican coincidencia de patrones, la
los caracteres '~' y '{' son más parecidos a las abreviaturas.

En nombres de archivo coincidentes, el carácter '.' al principio de un nombre de archivo o inmediatamente
después de una '/', así como el carácter '/' deben coincidir explícitamente. El personaje '*'
coincide con cualquier cadena de caracteres, incluida la cadena nula. El personaje '?' coincide con cualquiera
carácter único.

La secuencia "[...]" coincide con cualquiera de los caracteres incluidos. Dentro de "[...]", un par de
caracteres separados por '-' coincide con cualquier carácter léxico entre los dos (inclusive).
Dentro de "[...]", el nombre de un personaje clase entre '[:' y ':]' representa la lista
de todos los personajes que pertenecen a esa clase. Clases de personajes compatibles:

alnum cntrl espacio inferior
impresión de dígitos alfa en la parte superior
gráfico en blanco punct xdigit

Estos coinciden con los caracteres utilizando las macros especificadas en ctype(3). Una clase de personaje no puede ser
utilizado como punto final de un rango.

El carácter '~' al comienzo de un nombre de archivo se refiere a los directorios de inicio. De pie
solo, es decir, '~', se expande al directorio de inicio del invocador como se refleja en el valor de
La variable hogar. Cuando va seguido de un nombre que consta de letras, dígitos y '-'
caracteres, el shell busca un usuario con ese nombre y sustituye su casa
directorio; así, “~ ken” podría expandirse a “/ usr / ken” y “~ ken / chmach” a “/ usr / ken / chmach”.
Si el carácter '~' va seguido de un carácter que no sea una letra o '/', o no
aparece al principio de una palabra, no se modifica.

La metanotación "a {b, c, d} e" es una abreviatura de "abe ace ade". El orden de izquierda a derecha es
conservado, con los resultados de las coincidencias se ordenan por separado en un nivel bajo para preservar este
pedido. Esta construcción puede estar anidada. Por lo tanto, "~ source / s1 / {oldls, ls} .c" se expande a
"/Usr/source/s1/oldls.c /usr/source/s1/ls.c" sin posibilidad de error si el directorio de inicio
porque "fuente" es "/ usr / fuente". De manera similar, “../{memo,*box}” podría expandirse a “../memo ../box
../mbox ”. (Tenga en cuenta que "memo" no se ordenó con los resultados de la coincidencia con "* cuadro").
el caso especial '{', '}' y '{}' se pasan sin interrupciones.

De entrada y salida
La entrada estándar y la salida estándar de un comando se pueden redirigir con lo siguiente
sintaxis:

<nombre Abrir archivo nombre (que es la primera variable, comando y nombre de archivo expandidos) como
la entrada estándar.
<< palabra
Lea la entrada del shell hasta una línea que sea idéntica a por el temor . por el temor no es
sujeto a la sustitución de variable, comando o nombre de archivo, y cada línea de entrada
se compara con por el temor antes de que se realicen sustituciones en la línea de entrada.
A menos que aparezca una cita '\', '"', '' 'o'` 'en por el temor , variable y comando
la sustitución se realiza en las líneas intermedias, lo que permite que '\' entre comillas '$',
'\' y '`'. Los comandos que se sustituyen tienen todos los espacios en blanco, pestañas y
las nuevas líneas se conservan, excepto la última línea nueva que se elimina. los
El texto resultante se coloca en un archivo temporal anónimo que se entrega al
comando como entrada estándar.
> nombre
>! nombre
> & nombre
> &! nombre
El archivo nombre se utiliza como salida estándar. Si el archivo no existe entonces
es creado; si el archivo existe, está truncado; sus contenidos anteriores son
perdió.

Si la variable no clobber está configurado, entonces el archivo no debe existir o ser un
archivo especial de caracteres (por ejemplo, una terminal o / dev / null) o se produce un error.
Esto ayuda a prevenir la destrucción accidental de archivos. Aquí el '!' las formas pueden
utilizarse para suprimir esta comprobación.

Los formularios que involucran '&' encaminan la salida de error estándar al especificado
archivo, así como la salida estándar. nombre se expande de la misma manera que '<'
los nombres de archivo de entrada son.
>> nombre
>> & nombre
>>! nombre
>> &! nombre
Usa archivo nombre como salida estándar; como '>' pero coloca la salida al final
del archivo. Si la variable no clobber está configurado, entonces es un error para el
archivo no existe a menos que uno de los '!' se da formas. De lo contrario similar a
'>'.

Un comando recibe el entorno en el que se invocó el shell modificado por la entrada-
parámetros de salida y la presencia del comando en una canalización. Por lo tanto, a diferencia de algunos
shells, los comandos que se ejecutan desde un archivo de comandos de shell no tienen acceso al texto del
comandos por defecto; en su lugar, reciben la entrada estándar original del shell. los
Se debe utilizar el mecanismo '<<' para presentar datos en línea. Esto permite que los scripts de comandos de shell
funcionan como componentes de tuberías y permiten que el shell bloquee la lectura de su entrada. Tenga en cuenta que
la entrada estándar predeterminada para una ejecución de comando separada es no modificado para ser el archivo vacío
/ dev / null; en cambio, la entrada estándar permanece como la entrada estándar original del shell.
Si se trata de una terminal y si el proceso intenta leer desde la terminal, entonces el
El proceso se bloqueará y se notificará al usuario (ver Empleo encima).

La salida de error estándar puede dirigirse a través de una tubería con la salida estándar. Simplemente
use la forma '| &' en lugar de solo '|'.

Expresiones
Varios de los comandos integrados (que se describirán más adelante) toman expresiones, en las que el
Los operadores son similares a los de C, con la misma precedencia, pero con la opuesto
agrupamiento: De derecha a izquierda. Estas expresiones aparecen en el @, salida, ify mientras comandos.
Están disponibles los siguientes operadores:

|| && | ↑ & ==! = = ~! ~ <=> = <> << >> + - * /%! ~ ()

Aquí la precedencia aumenta a la derecha, '==' '! =' '= ~' Y '! ~', '<=' '> =' '<' Y '>',
'<<' y '>>', '+' y '-', '*' '/' y '%' están, en grupos, al mismo nivel. El '=='
Los operadores '! =' '= ~' y '! ~' comparan sus argumentos como cadenas; todos los demás operan en
números. Los operadores '= ~' y '! ~' Son como '! =' Y '==' excepto que el lado derecho
es un patrón (que contiene, por ejemplo, * 's,?' s, e instancias de "[...]") contra el cual la izquierda-
el operando de mano coincide. Esto reduce la necesidad de utilizar el cambiar declaración en cáscara
scripts cuando todo lo que realmente se necesita es la coincidencia de patrones.

Las cadenas que comienzan con '0' se consideran números octales. Los argumentos nulos o faltantes son
considerado '0'. Los resultados de todas las expresiones son cadenas, que representan decimales
números. Es importante señalar que no pueden aparecer dos componentes de una expresión en la
misma palabra; excepto cuando son adyacentes a componentes de expresiones que son sintácticamente
significativos para el analizador ('&', '|', '<', '>', '(', y ')'), deben estar rodeados de
espacios

También están disponibles en expresiones como operandos primitivos las ejecuciones de comandos encerradas entre '{'
y '}' y archivar consultas del formulario -l nombre donde l es uno de:

r acceso de lectura
w acceso de escritura
x ejecutar acceso
la existencia
o propiedad
z tamaño cero
f archivo sin formato
directorio d

El nombre especificado es comando y nombre de archivo expandido y luego probado para ver si tiene el
relación especificada con el usuario real. Si el archivo no existe o es inaccesible, entonces
todas las consultas devuelven falso, es decir, '0'. Las ejecuciones de comandos tienen éxito, devolviendo verdadero, es decir,
'1', si el comando sale con estado 0, de lo contrario fallarán, devolviendo falso, es decir, '0'.
Si se requiere información de estado más detallada, el comando debe ejecutarse fuera
una expresión y la variable estado examinado.

Control de tus señales
El shell contiene varios comandos que se pueden utilizar para regular el flujo de control en
archivos de comando (scripts de shell) y (de formas limitadas pero útiles) desde la entrada del terminal. Estas
Todos los comandos operan forzando al shell a releer u omitir su entrada y, debido a la
implementación, restringir la ubicación de algunos de los comandos.

El foreach, cambiary mientras declaraciones, así como las si-entonces-otro forma de la if
La declaración requiere que las palabras clave principales aparezcan en un solo comando simple en una línea de entrada
como se muestra a continuación.

Si la entrada del shell no se puede buscar, el shell almacena en búfer la entrada cada vez que se está realizando un bucle.
lee y realiza búsquedas en este búfer interno para lograr la relectura que implica la
círculo. (En la medida en que esto lo permita, los goto hacia atrás tendrán éxito en no buscables
entradas.)

Incorporado comandos
Los comandos integrados se ejecutan dentro del shell. Si un comando incorporado ocurre como cualquier
componente de una tubería, excepto la última, entonces se ejecuta en un sub-shell.

alias
alias nombre
alias nombre lista de palabras
El primer formulario imprime todos los alias. El segundo formulario imprime el alias del nombre.
La forma final asigna el especificado lista de palabras como el alias de nombre ; lista de palabras
se sustituye el comando y el nombre de archivo. nombre no se permite ser "alias" o
“Unalias”.

asignar Muestra la cantidad de memoria dinámica adquirida, desglosada en usada y libre
memoria. Con un argumento muestra el número de bloques libres y usados ​​en cada
categoría de tamaño. Las categorías comienzan en el tamaño 8 y se duplican en cada paso. Esta
La salida del comando puede variar según el tipo de sistema, ya que los sistemas distintos del
VAX puede utilizar un asignador de memoria diferente.

bg
bg %trabajo ...
Coloca los trabajos actuales o especificados en segundo plano y continúa con ellos si
fueron detenidos.

romper Hace que la ejecución se reanude después de la final del recinto más cercano foreach or
mientras. Se ejecutan los comandos restantes en la línea actual. Multi nivel
De este modo, es posible hacer saltos escribiéndolos todos en una línea.

rompew
Provoca un descanso de un cambiar, reanudando después de la terminaw.

case Label:
Una etiqueta en un cambiar declaración como se explica a continuación.

cd
cd nombre
chdir
chdir nombre
Cambiar el directorio de trabajo del shell a directorio nombre . Si no hay argumento
dado, luego cambie al directorio de inicio del usuario. Si nombre no se encuentra como
un subdirectorio del directorio actual (y no comienza con '/', './' o
'../'), luego cada componente de la variable cdruta se comprueba para ver si tiene
un subdirectorio nombre . Finalmente, si todo lo demás falla, pero nombre es una variable de shell
cuyo valor comienza con '/', entonces se intenta ver si es un directorio.

continue
Continuar con la ejecución del cerramiento más cercano. mientras or foreach. El resto de
se ejecutan los comandos de la línea actual.

tu préstamo estudiantil:
Etiqueta el caso predeterminado en un cambiar declaración. El valor predeterminado debería venir después
todos case etiquetas.

dirs Imprime la pila de directorios; la parte superior de la pila está a la izquierda, la primera
directorio de la pila es el directorio actual.

echo lista de palabras
echo -n lista de palabras
Las palabras especificadas se escriben en la salida estándar del shell, separadas por
espacios, y terminado con una nueva línea a menos que el -n Se especifica la opción.

más
final
terminara si
terminaw Ver la descripción del foreach, if, cambiary mientras declaraciones debajo.

eval arg ...
(Como en sh(1).) Los argumentos se leen como entrada al shell y el resultado
comando (s) ejecutados en el contexto del shell actual. Esto se usa generalmente
para ejecutar comandos generados como resultado de un comando o variable
sustitución, ya que el análisis sintáctico se produce antes de estas sustituciones. Ver tset(1)
para un ejemplo de uso eval.

ejecutivo comando
El comando especificado se ejecuta en lugar del shell actual.

salida
salida (expr)
El shell sale con el valor de la estado variable (primera forma) o
con el valor del especificado expr (segunda forma).

fg
fg %trabajo ...
Trae los trabajos actuales o especificados a un primer plano y continúa con ellos si
fueron detenidos.

foreach nombre (lista de palabras)
...
final La variable nombre se establece sucesivamente para cada miembro de lista de palabras y del
secuencia de comandos entre este comando y la coincidencia final se ejecutan.
(Ambas cosas foreach y final debe aparecer solo en líneas separadas).
comando continue puede usarse para continuar el bucle prematuramente y el
comando romper terminarlo prematuramente. Cuando este comando se lee del
terminal, el bucle se lee una vez y se solicita '?' antes de cualquier declaración en
se ejecutan los bucles. Si comete un error al escribir un bucle en la terminal
puedes borrarlo.

glob lista de palabras
Me gusta echo pero no se reconocen '\' escapes y las palabras están delimitadas por NUL
caracteres en la salida. Útil para programas que desean usar el shell para
nombre de archivo expande una lista de palabras.

Goto por el temor
El especificado por el temor es el nombre de archivo y el comando expandidos para producir una cadena de la
formulario 'etiqueta'. El shell rebobina su entrada tanto como sea posible y busca
para una línea de la forma "etiqueta:", posiblemente precedida por espacios en blanco o tabulaciones.
La ejecución continúa después de la línea especificada.

hashstat
Imprima una línea de estadísticas que muestre cuán efectiva ha sido la tabla hash interna
en localizar comandos (y evitar ejecutivos). Un ejecutivo se intenta para cada
componente de la camino donde la función hash indica un posible acierto, y en
cada componente que no comience con una '/'.

historia
historia n
historia -h n
historia -r n
Muestra la lista de eventos históricos; si n se da, solo el n eventos más recientes
están impresos. los -h La opción hace que la lista del historial se imprima sin
números principales. Este formato produce archivos adecuados para el abastecimiento utilizando el
-h opción de fuente. -r La opción invierte el orden de impresión para que sea más
reciente primero en lugar de más antiguo primero.

if (expr) comando
Si la expresión especificada se evalúa como verdadera, entonces el único comando
se ejecuta argumentos. Sustitución de variable en comando sucede temprano, en el
al mismo tiempo que lo hace para el resto del if mando. comando debe ser un simple
comando, no una canalización, una lista de comandos o una lista de comandos entre paréntesis.
La redirección de entrada / salida ocurre incluso si expr es falso, es decir, cuando el comando es
no ejecutado (esto es un error).

if (expr) luego
...
más if (Expr2) luego
...
más
...
terminara si Si el especificado expr es cierto, entonces los comandos hasta el primero más en
ejecutado; de lo contrario si Expr2 es cierto, entonces los comandos hasta el segundo más
se ejecutan, etc. si no los pares son posibles; sólo uno terminara si
es necesario. los más parte es igualmente opcional. (Las palabras más y terminara si
debe aparecer al principio de las líneas de entrada; los if debe aparecer solo en su
línea de entrada o después de una más.)

recibas nuevas vacantes en tu correo
recibas nuevas vacantes en tu correo -l
Enumera los trabajos activos; los -l La opción enumera los ID de proceso además de los
información normal.

matar %trabajo
matar [-s nombre_señal] pid
matar -sig pid ...
matar -l [salir_estado]
Envía la señal SIGTERM (terminar) o la señal especificada al
trabajos o procesos especificados. Las señales se dan por número o por nombre
(como se indica en ⟨señal.h⟩, Despojado del prefijo “SIG”). Los nombres de las señales son
listado por "kill -l"; Si una estado_salida se especifica, solo el correspondiente
Se escribirá el nombre de la señal. No hay ningún valor predeterminado; decir simplemente "matar" no
enviar una señal al trabajo actual. Si la señal que se envía es SIGTERM
(terminar) o SIGHUP (colgar), entonces el trabajo o proceso se enviará un SIGCONT
(continuar) señal también.

límitar
límitar Recurso
límitar Recurso uso máximo
límitar -h
límitar -h Recurso
límitar -h Recurso uso máximo
Limita el consumo por el proceso actual y cada proceso que crea para
no exceder individualmente uso máximo en el especificado Recurso. Si no
uso máximo se da, luego se imprime el límite actual; si no Recurso is
dado, entonces se dan todas las limitaciones. Si el -h se da la bandera, el duro
se utilizan límites en lugar de los límites actuales. Los duros límites imponen un
techo sobre los valores de los límites actuales. Solo el superusuario puede plantear
límites estrictos, pero un usuario puede reducir o aumentar los límites actuales dentro de los límites legales
rango.

Los recursos controlables actualmente incluyen:

tiempo de CPU el número máximo de segundos de CPU que utilizará cada proceso.

tamaño del archivo el archivo individual más grande (en bytes) que se puede crear.

tamaño de datos el crecimiento máximo de la región de datos + pila a través de sbrk(2) más allá
el final del texto del programa.

tamaño de la pila el tamaño máximo de la región de pila extendida automáticamente.

tamaño de volcado de núcleo el tamaño del volcado de núcleo más grande (en bytes) que se
creado.

uso de memoria el tamaño máximo (en bytes) al que se establece el residente de un proceso
el tamaño (RSS) puede crecer.

memoria bloqueada El tamaño máximo (en bytes) que un proceso puede bloquear en la memoria
usando el mlock(2) función.

maxproc El número máximo de procesos simultáneos para este ID de usuario.

openfiles El número máximo de archivos abiertos simultáneamente para este ID de usuario.

vmemoryuse el tamaño máximo (en bytes) al que el tamaño total de un proceso puede
crecer.

El uso máximo se puede dar como un número (de coma flotante o entero) seguido
por un factor de escala. Para todos los límites que no sean tiempo de CPU la escala predeterminada es 'k'
o "kilobytes" (1024 bytes); un factor de escala de "m" o "megabytes" también puede ser
usó. Para tiempo de CPU la escala predeterminada es "segundos"; un factor de escala de 'm' para
minutos o 'h' por horas, o un tiempo de la forma "mm: ss" dando minutos y
también se pueden usar segundos.

Para ambos Recurso nombres y factores de escala, prefijos inequívocos de los nombres
satisfacer.

Inicie sesión Termine un shell de inicio de sesión, reemplazándolo con una instancia de / usr / bin / login.
Ésta es una forma de cerrar la sesión, incluida por compatibilidad con sh(1).

Iniciar sesión Terminar un shell de inicio de sesión. Especialmente útil si ignorante de se establece.

agradable
agradable + numero
agradable comando
agradable + numero comando
El primer formulario establece la prioridad de programación para este shell en 4. El segundo
formulario establece la prioridad a lo dado número. Las dos últimas formas ejecutan el comando
en prioridad 4 y número respectivamente. Cuanto mayor sea el número, menos CPU
el proceso conseguirá. El superusuario puede especificar una prioridad negativa utilizando
"Buen número ...". comando siempre se ejecuta en un sub-shell, y el
restricciones impuestas a los comandos en simple if se aplican declaraciones.

nohup
nohup comando
La primera forma se puede utilizar en scripts de shell para hacer que se ignoren los cuelgues
el resto del guión. La segunda forma hace que el comando especificado
ser ejecutado sin tener en cuenta los cuelgues. Todos los procesos separados con '&' son efectivamente
nohuped.

notificar
notificar %trabajo ...
Hace que el shell notifique al usuario de forma asincrónica cuando el estado del
cambios de trabajos actuales o específicos; normalmente la notificación se presenta antes de un
inmediato. Esto es automático si la variable de shell notificar se establece.

onintr
onintr -
onintr Label
Controla la acción del shell en las interrupciones. La primera forma restaura el
acción predeterminada del shell en las interrupciones, que es terminar los scripts del shell
o para volver al nivel de entrada de comandos del terminal. La segunda forma onintr -
hace que se ignoren todas las interrupciones. La forma final hace que el caparazón
ejecutar un Goto Label cuando se recibe una interrupción o un proceso secundario
termina porque fue interrumpido.

En cualquier caso, si el shell se ejecuta de forma independiente y se están produciendo interrupciones
ignorado, todas las formas de onintr no tienen sentido y las interrupciones siguen siendo
ignorado por el shell y todos los comandos invocados. Finalmente, onintr declaraciones son
ignorado en los archivos de inicio del sistema donde las interrupciones están deshabilitadas
(/etc/csh.cshrc, /etc/csh.login).

popd
popd +n
Abre la pila de directorios, volviendo al nuevo directorio superior. Con un
argumento "+n"Descarta el n´ª entrada en la pila. Los miembros de la
La pila de directorios está numerada desde la parte superior a partir de 0.

pushd
pushd nombre
pushd +n
Sin argumentos pushd intercambia los dos elementos superiores del directorio
apilar. Dado un nombre argumento, pushd cambios en el nuevo directorio (ala cd) y
empuja el antiguo directorio de trabajo actual (como en cwd) en la pila de directorios.
Con un argumento numérico, pushd gira el n´th argumento del directorio
apilar para ser el elemento superior y cambia a él. Los miembros de la
La pila de directorios está numerada desde la parte superior a partir de 0.

refrito Provoca la tabla hash interna del contenido de los directorios en el camino
variable a volver a calcular. Esto es necesario si se agregan nuevos comandos a
directorios en el camino mientras estás conectado. Esto solo debería ser
necesario si agrega comandos a uno de sus propios directorios, o si un sistema
El programador cambia el contenido de un directorio del sistema.

repetir contar comando
El especificado comando, que está sujeto a las mismas restricciones que el
comando en una línea if declaración anterior, se ejecuta contar veces. E / S
las redirecciones ocurren exactamente una vez, incluso si contar es 0.

set
set nombre
set nombre = palabra
set nombre [índice]= palabra
set nombre = (lista de palabras)
La primera forma del comando muestra el valor de todas las variables de shell.
Las variables que tienen un valor distinto de una sola palabra se imprimen como
lista de palabras entre paréntesis. La segunda forma establece nombre a la cadena nula. los
conjuntos de tercera forma nombre al soltero por el temor . La cuarta forma establece el índice'th
componente de nombre a por el temor ; este componente ya debe existir. La forma final
conjuntos nombre a la lista de palabras en lista de palabras. El valor es siempre comando y
nombre de archivo expandido.

Estos argumentos pueden repetirse para establecer varios valores en un solo conjunto
mando. Sin embargo, tenga en cuenta que la expansión de variables ocurre para todos los argumentos
antes de que ocurra cualquier ajuste.

setenv
setenv nombre
setenv nombre propuesta de
El primer formulario enumera todas las variables de entorno actuales. Es equivalente a
printenv(1). La última forma establece el valor de la variable de entorno. nombre para ser
propuesta de, una sola cuerda. La segunda forma establece nombre a una cadena vacía. los
Las variables de entorno más utilizadas USER, TERM y PATH son
importado y exportado automáticamente desde el csh las variables usuario, términoy
camino; no hay necesidad de usar setenv para éstos.

Turno
Turno variable
Los miembros de argv se desplazan hacia la izquierda, descartando argv[1]. Es un
error para argv que no se establezca o que tenga menos de una palabra como valor. los
la segunda forma realiza la misma función en la variable especificada.

fuente nombre
fuente -h nombre
El shell lee los comandos de nombre . fuente los comandos pueden estar anidados; si ellos
están anidados demasiado profundamente, el shell puede quedarse sin descriptores de archivo. Un error en
a fuente en cualquier nivel termina todo anidado fuente comandos. Normalmente entrada
durante fuente los comandos no se colocan en la lista del historial; los -h causas de la opción
los comandos que se colocarán en la lista del historial sin ser ejecutados.

detener
detener %trabajo ...
Detiene los trabajos actuales o especificados que se están ejecutando en segundo plano.

suspender
Hace que el proyectil se detenga en seco, como si se le hubiera enviado una parada.
señal con ^Z. Esto se usa con mayor frecuencia para detener los proyectiles iniciados por su(1).

cambiar (cadena)
case str1:
...
rompew
...
tu préstamo estudiantil:
...
rompew
terminaw Cada etiqueta de caso se compara sucesivamente con el especificado cadena, cual es
primer comando y nombre de archivo expandidos. Los metacaracteres del archivo '*', '?' y
“[...]” puede usarse en las etiquetas de caso, que son variables expandidas. Si ninguno
de las etiquetas coinciden antes de que se encuentre la etiqueta "predeterminada", luego la ejecución
comienza después de la etiqueta predeterminada. Cada etiqueta de caja y la etiqueta predeterminada deben
aparecen al principio de una línea. El comando rompew hace que la ejecución
continuar después de la terminaw. De lo contrario, el control puede caer a través de las etiquetas de las cajas y
la etiqueta predeterminada como en C. Si ninguna etiqueta coincide y no hay ninguna etiqueta predeterminada,
la ejecución continúa después de la terminaw.

equipo
equipo comando
Sin argumento, se muestra un resumen del tiempo utilizado por este shell y sus hijos.
impreso. Si se dan argumentos, el comando simple especificado se cronometra y
resumen de tiempo como se describe en el equipo se imprime la variable. Si necesario,
se crea un shell adicional para imprimir la estadística de tiempo cuando el comando
completa

umask
umask propuesta de
Se muestra la máscara de creación de archivos (primer formulario) o se establece en el valor especificado
(segunda forma). La máscara se da en octal. Los valores comunes para la máscara son
002 dando acceso total al grupo y acceso de lectura y ejecución a otros o
022 que otorga todos los accesos excepto el acceso de escritura para los usuarios del grupo u otros.

unalias patrón
Se descartan todos los alias cuyos nombres coincidan con el patrón especificado. Así todo
los alias son eliminados por unalias *. No es un error para que nada sea
unaliased.

deshacer El uso de la tabla hash interna para acelerar la ubicación de los programas ejecutados es
discapacitado.

ilimitado
ilimitado Recurso
ilimitado -h
ilimitado -h Recurso
Elimina la limitación de Recurso. Si no Recurso se especifica, entonces todo
Recurso Se eliminan las limitaciones. Si -h se da, el correspondiente duro
Se eliminan los límites. Solo el superusuario puede hacer esto.

desarmado patrón
Se eliminan todas las variables cuyos nombres coinciden con el patrón especificado. Así todo
las variables son eliminadas por desarmado *; esto tiene un lado notablemente desagradable
efectos. No es un error para que nada sea desarmado.

inseguro patrón
Elimina todas las variables cuyos nombres coinciden con el patrón especificado de la
medio ambiente. Ver también el setenv comando arriba y printenv(1).

esperar Espere todos los trabajos en segundo plano. Si el shell es interactivo, entonces una interrupción
puede interrumpir la espera. Después de la interrupción, el shell imprime los nombres y el trabajo.
números de todos los trabajos que se sabe que son sobresalientes.

que comando
Muestra el comando resuelto que será ejecutado por el shell.

mientras (expr)
...
final Mientras que la expresión especificada se evalúa como distinta de cero, los comandos entre
mientras y la coincidencia final son evaluados. romper y continue puede ser usado para
terminar o continuar el ciclo prematuramente. (Los mientras y final debe aparecer
solo en sus líneas de entrada.) La solicitud se produce aquí la primera vez a través del
bucle como para el foreach declaración si la entrada es una terminal.

%trabajo Trae el trabajo especificado a un primer plano.

%trabajo & Continúa el trabajo especificado en segundo plano.

@
@ nombre = expresión
@ nombre [índice]= expresión
El primer formulario imprime los valores de todas las variables de shell. La segunda forma
establece el especificado nombre al valor de expr. Si la expresión contiene '<',
'>', '&' o '|' entonces al menos esta parte de la expresión debe colocarse
dentro de '(' ')'. La tercera forma asigna el valor de expr En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”. índice'th
argumento de nombre . Ambos nombre y su índiceEl componente ya debe existir.

Los operadores '* =', '+ =', etc.están disponibles como en C. El espacio que separa
el nombre del operador de asignación es opcional. Los espacios son, sin embargo,
obligatorio en la separación de componentes de expr, que de otra manera sería soltero
palabras.

Los operadores de sufijo especial '++' y '-' aumentan y disminuyen nombre
respectivamente; es decir, "@ i ++".

Predefinidos y entorno las variables
Las siguientes variables tienen un significado especial para el shell. De estos, argv, cwd, hogar, camino,
puntual, shell y estado siempre son establecidos por el shell. Excepto por cwd y estado, esta
el ajuste ocurre solo en la inicialización; estas variables no se modificarán a menos que se haga
explícitamente por parte del usuario.

El shell copia la variable de entorno USER en la variable usuario, TERM en términoy
CASA en hogar, y los copia de nuevo en el entorno siempre que el shell normal
las variables se restablecen. La variable de entorno PATH también se maneja; no es necesario
preocuparse por su configuración que no sea en el archivo .cshrc como inferior csh los procesos
importar la definición de camino del entorno y vuelva a exportarlo si lo cambia.

argv Establecido en los argumentos del shell, es a partir de esta variable que posicional
se sustituyen los parámetros; es decir, "$ 1" se reemplaza por "$ argv [1]", etc.

cdruta Da una lista de directorios alternativos buscados para encontrar subdirectorios en chdir
comandos.

cwd El nombre de ruta completo del directorio actual.

echo Establecer cuando el -x Se proporciona la opción de línea de comandos. Causa cada comando y su
argumentos que se repiten justo antes de que se ejecute. Para comandos no integrados todos
las expansiones ocurren antes de hacer eco. Los comandos incorporados se repiten antes del comando y
sustitución de nombre de archivo, ya que estas sustituciones se realizan de forma selectiva.

archivoc Habilite la finalización del nombre de archivo.

histchars Se le puede dar un valor de cadena para cambiar los caracteres usados ​​en la historia.
sustitución. El primer carácter de su valor se utiliza como historial.
carácter de sustitución, reemplazando el carácter predeterminado '!'. El segundo
carácter de su valor reemplaza el carácter '^' en sustituciones rápidas.

archivo de historial Se puede establecer en el nombre de la ruta donde se guardará / restaurará el historial.

historia Se le puede dar un valor numérico para controlar el tamaño de la lista del historial. Alguna
El comando al que se ha hecho referencia en esta cantidad de eventos no se descartará. También
grandes valores de historia puede ejecutar el shell sin memoria. El ultimo ejecutado
El comando siempre se guarda en la lista del historial.

hogar El directorio de inicio del invocador, inicializado desde el entorno. los
expansión del nombre de archivo de "~”Se refiere a esta variable.

ignorante de Si se establece, el shell ignora el final del archivo de los dispositivos de entrada que son terminales.
Esto evita que los proyectiles sean eliminados accidentalmente por los controles-D.

mail Los archivos donde el shell busca correo. Esta comprobación se realiza después de cada
finalización del comando que resultará en un mensaje, si un intervalo especificado ha
transcurrido. El caparazón dice "Tienes correo nuevo". si el archivo existe con un acceso
tiempo no mayor que su tiempo de modificación.

Si la primera palabra del valor de mail es numérico especifica un correo diferente
intervalo de comprobación, en segundos, que el predeterminado, que es de 10 minutos.

Si se especifican varios archivos de correo, el shell dice "Correo nuevo en nombre " cuando
hay correo en el archivo nombre .

no clobber Como se describe en la sección sobre De entrada y salida, se imponen restricciones a la salida
redirección para garantizar que los archivos no se destruyan accidentalmente, y que '>>'
las redirecciones se refieren a archivos existentes.

noglob Si se establece, se inhibe la expansión del nombre de archivo. Esta inhibición es más útil en shell.
scripts que no se ocupan de nombres de archivo, o después de una lista de nombres de archivo
obtenido y no son deseables expansiones adicionales.

no coincide Si se establece, no es un error que una expansión de nombre de archivo no coincida con ninguna
archivos; en su lugar, se devuelve el patrón primitivo. Sigue siendo un error para el
patrón primitivo deformado; es decir, "echo [" todavía da un error.

notificar Si se establece, el shell notifica de forma asincrónica las finalizaciones de trabajos; el valor predeterminado es
presente las finalizaciones del trabajo justo antes de imprimir un mensaje.

camino Cada palabra del camino variable especifica un directorio en el que los comandos deben ser
buscado para ejecución. Una palabra nula especifica el directorio actual. Si hay
no camino variable, entonces solo se ejecutarán los nombres de ruta completos. La ruta de búsqueda habitual
es ".", "/compartimiento,/ usr / bin,/ sbin y / usr / sbin", Pero esto puede variar de
sistema a sistema. Para el superusuario, la ruta de búsqueda predeterminada es "/compartimiento",
"/ usr / bin,/ sbin", Y"/ usr / sbin”. Un caparazón al que no se le da ni el -c ni
las -t La opción normalmente aplicará un hash al contenido de los directorios en la camino
variable después de leer .cshrc, y cada vez que el camino la variable se pone a cero. Si es nuevo
Los comandos se agregan a estos directorios mientras el shell está activo, puede ser
necesario hacer un refrito o es posible que no se encuentren los comandos.

puntual La cadena que se imprime antes de cada comando se lee desde un interactivo
entrada de terminal. Si un '!' aparece en la cadena será reemplazado por el
número de evento actual a menos que se proporcione un '\' precedente. El valor predeterminado es "%" o "#" para
el superusuario.

salvavidas Se le da un valor numérico para controlar el número de entradas de la lista del historial.
que se guardan en ~ / .historia cuando el usuario cierra la sesión. Cualquier comando que haya sido
a los que se hace referencia en este, se guardarán muchos eventos. Durante el inicio de las fuentes de shell
~ / .historia en la lista del historial, lo que permite guardar el historial a través de inicios de sesión. También
grandes valores de salvavidas ralentizará la cáscara durante el arranque. Si salvavidas
se acaba de configurar, el shell utilizará el valor de historia.

shell El archivo en el que reside el shell. Esta variable se utiliza para bifurcar proyectiles para
interpretar archivos que tienen bits de ejecución establecidos, pero que no son ejecutables por el
sistema. (Ver la descripción de No incorporado comando ejecución abajo.)
Inicializado en el inicio (dependiente del sistema) del shell.

estado El estado devuelto por el último comando. Si terminó anormalmente, entonces 0200
se agrega al estado. Los comandos integrados que fallan devuelven el estado de salida 1, todos
otros comandos incorporados establecen el estado en 0.

equipo Controla la sincronización automática de los comandos. Si se establece, cualquier comando que requiera más
que esta cantidad de segundos de CPU provocará una línea que proporcione al usuario, el sistema y los tiempos reales,
y un porcentaje de utilización que es la relación entre el usuario más los tiempos del sistema y el tiempo real
hora de imprimirse cuando finalice.

verboso Establecido por el -v opción de línea de comandos, hace que se impriman las palabras de cada comando
después de la sustitución de la historia.

No incorporado comando ejecución
Cuando se descubre que un comando a ejecutar no es un comando incorporado, el shell intenta
ejecutar el comando a través de ejecutivo(2). Cada palabra en la variable camino nombra un directorio de
que el shell intentará ejecutar el comando. Si no se le da ni un -c ni un -t
opción, el shell hará un hash de los nombres en estos directorios en una tabla interna para que
solo intentaré un ejecutivo en un directorio si existe la posibilidad de que el comando resida
allí. Este atajo acelera enormemente la ubicación del comando cuando hay muchos directorios presentes en
la ruta de búsqueda. Si este mecanismo se ha desactivado (a través de deshacer), o si el caparazón fue
dado un -c or -t argumento, y en cualquier caso para cada componente de directorio de camino Eso hace
no comienza con una '/', el shell se concatena con el nombre del comando dado para formar un nombre de ruta
de un archivo que luego intenta ejecutar.

Los comandos entre paréntesis siempre se ejecutan en un sub-shell. Por lo tanto

(cd; pwd); personas con discapacidad

imprime el hogar directorio; dejándote donde estabas (imprimiendo esto después de la casa
directorio), mientras

CD; pwd

te deja en el hogar directorio. Los comandos entre paréntesis se utilizan con mayor frecuencia para prevenir
chdir de afectar el shell actual.

Si el archivo tiene permisos de ejecución pero no es un binario ejecutable para el sistema, entonces
se supone que es un archivo que contiene comandos de shell y se genera un nuevo shell para leerlo.

Si hay un alias para shell entonces las palabras del alias se antepondrán al argumento
list para formar el comando de shell. La primera palabra del alias debe ser el nombre de ruta completo de
el caparazón (por ejemplo, "$ caparazón"). Tenga en cuenta que este es un caso especial, tardío, de alias
sustitución, y solo permite que las palabras se antepongan a la lista de argumentos sin cambios.

Signal manipulación
El shell normalmente ignora las señales SIGQUIT. Trabajos que se ejecutan separados (ya sea por & o de bg or
% ... & comandos) son inmunes a las señales generadas desde el teclado, incluidos los cuelgues.
Otras señales tienen los valores que el shell heredó de su padre. El caparazón
El manejo de interrupciones y señales de terminación en scripts de shell puede ser controlado por onintr.
Los shells de inicio de sesión captan la señal SIGTERM (terminate); de lo contrario, esta señal se transmite a
hijos del estado en el padre del caparazón. No se permiten interrupciones cuando se inicia sesión
shell está leyendo el archivo .cerrar sesión.

LIMITACIONES


Longitudes de palabras: las palabras no pueden tener más de 1024 caracteres. El número de argumentos a un
El comando que involucra la expansión del nombre de archivo está limitado a 1/6 del número de caracteres
permitido en una lista de argumentos. Las sustituciones de comandos no pueden sustituir más caracteres de
están permitidos en una lista de argumentos. Para detectar bucles, el shell restringe el número de alias
sustituciones en una sola línea hasta 20.

Use bsd-csh en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    Alt-F
    Alt-F
    Alt-F proporciona un código abierto y gratuito
    firmware alternativo para DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F tiene Samba y NFS;
    soporta ext2 / 3/4 ...
    Descargar Alt-F
  • 2
    usm
    usm
    Usm es un paquete de slackware unificado
    gerente que maneja automático
    resolución de dependencia. unifica
    varios repositorios de paquetes, incluidos
    slackware, flojo, p...
    Descargar usm
  • 3
    Chart.js
    Chart.js
    Chart.js es una biblioteca Javascript que
    permite a los diseñadores y desarrolladores dibujar
    todo tipo de gráficos usando HTML5
    elemento de lienzo Chart js ofrece una gran
    matriz ...
    Descargar Chart.js
  • 4
    iReport-Designer para JasperReports
    iReport-Designer para JasperReports
    NOTA: Compatibilidad con iReport/Jaspersoft Studio
    Anuncio: a partir de la versión 5.5.0,
    Jaspersoft Studio será el oficial
    cliente de diseño para JasperReports. yo reporto
    será...
    Descargar iReport-Designer para JasperReports
  • 5
    PostInstaladorF
    PostInstaladorF
    PostInstallerF instalará todos los
    software que Fedora Linux y otros
    no incluye por defecto, después
    ejecutando Fedora por primera vez. Su
    fácil para ...
    Descargar PostInstallerF
  • 6
    rastro
    rastro
    El proyecto strace se ha trasladado a
    https://strace.io. strace is a
    diagnóstico, depuración e instrucción
    rastreador de espacio de usuario para Linux. Esta usado
    para monitorear un...
    Descargar seguimiento
  • Más "

Comandos de Linux

Ad