InglêsFrancêsEspanhol

Ad


favicon do OnWorks

bsd-csh - Online na nuvem

Execute bsd-csh no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando bsd-csh que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online Windows ou emulador online MAC OS

PROGRAMA:

NOME


csh - um shell (interpretador de comandos) com sintaxe semelhante a C

SINOPSE


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

DESCRIÇÃO


csh é um intérprete de linguagem de comando que incorpora um mecanismo de histórico (ver HISTÓRIA
substituições), instalações de controle de trabalho (ver Empregos), nome de arquivo interativo e nome de usuário
conclusão (ver Envie o nome realização) e uma sintaxe semelhante a C. É usado como um
shell de login interativo e um processador de comandos de script de shell.

Argumento Lista em processamento
Se o primeiro argumento (argumento 0) para o shell for um traço ('-'), então este é um shell de login.
Um shell de login também pode ser especificado invocando o shell com o -l marcar como o único
argumento.

O restante dos argumentos de sinalização são interpretados da seguinte maneira:

-b Este sinalizador força uma "interrupção" do processamento de opções, causando qualquer outro shell
argumentos a serem tratados como argumentos não opcionais. Os argumentos restantes não serão
interpretado como opções de shell. Isso pode ser usado para passar opções para um script de shell
sem confusão ou possível subterfúgio. O shell não executará um set-user-ID
script sem esta opção.

-c Os comandos são lidos a partir do (único) seguinte argumento que deve estar presente. Algum
os argumentos restantes são colocados em argumento.

-e O shell sai se qualquer comando invocado terminar de forma anormal ou resultar em um valor diferente de zero
status de saída.

-f O shell iniciará mais rápido, porque não buscará nem executará comandos
do arquivo .cshrc no diretório inicial do invocador. Nota: se o ambiente
a variável HOME não está definida, a inicialização rápida é o padrão.

-i O shell é interativo e solicita sua entrada de nível superior, mesmo que não pareça
para ser um terminal. Os shells são interativos sem esta opção se suas entradas e
saídas são terminais.

-l O shell é um shell de login (aplicável apenas se -l é o único sinalizador especificado).

-m Leia .cshrc, independentemente de seu proprietário e grupo. Esta opção é perigosa e deve
só ser usado por su(1).

-n Os comandos são analisados, mas não executados. Isso ajuda na verificação sintática do shell
scripts. Quando usado interativamente, o shell pode ser encerrado pressionando control-D
(caractere de fim de arquivo), uma vez que saída não funciona.

-s A entrada do comando é obtida da entrada padrão.

-t Uma única linha de entrada é lida e executada. Uma barra invertida ('\') pode ser usada para escapar
a nova linha no final desta linha e continue em outra linha.

-V Faz com que o detalhado variável a ser definida antes mesmo .cshrc É executado.

-v Faz com que o detalhado variável a ser definida, com o efeito de que a entrada do comando é ecoada
após a substituição do histórico.

-X Faz com que o eco variável a ser definida antes mesmo .cshrc É executado.

-x Faz com que o eco variável a ser definida, de modo que os comandos sejam ecoados imediatamente antes
execução.

Após o processamento de argumentos de sinalização, se os argumentos permanecerem, mas nenhum dos -c, -i, -sou -t
opções foram fornecidas, o primeiro argumento é considerado como o nome de um arquivo de comandos a serem
executado. O shell abre este arquivo e salva seu nome para possível re-substituição por
'$ 0'. Uma vez que muitos sistemas usam os shells da versão 6 ou 7 padrão, cujo shell
scripts não são compatíveis com este shell, o shell irá executar um shell "padrão"
se o primeiro caractere de um script não for uma marca de hash ('#'); ou seja, se o script não
comece com um comentário. Os argumentos restantes inicializam a variável argumento.

Uma instância de csh começa executando comandos do arquivo /etc/csh.cshrc e, se este for
um shell de login, /etc/csh.login. Em seguida, ele executa comandos de .cshrc no diretório home
do invocador e, se este for um shell de login, o arquivo .Conecte-se no mesmo local. Isto é
típico para usuários em CRTs colocar o comando chiqueiro crt na sua .Conecte-se arquivo, e também
invocar tsé-tsé(1) lá.

No caso normal, o shell começará a ler comandos do terminal, avisando com
'%.' Processamento de argumentos e uso do shell para processar arquivos contendo comandos
os scripts serão descritos mais tarde.

O shell executa repetidamente as seguintes ações: uma linha de entrada de comando é lida e
dividido em “palavras”. Esta sequência de palavras é colocada na lista do histórico de comandos e
analisado. Finalmente, cada comando na linha atual é executado.

Quando um shell de login termina, ele executa comandos dos arquivos .sair na casa do usuário
diretório e /etc/csh.logout.

Lexical estrutura
O shell divide as linhas de entrada em palavras em espaços em branco e tabulações com as seguintes exceções.
Os caracteres '&', '|', ';', '<', '>', '(' e ')' formam palavras separadas. Se dobrou em
'&&', '||', '<<' ou '>>', esses pares formam palavras únicas. Esses metacaracteres do analisador podem
ser feito parte de outras palavras, ou ter seu significado especial impedido, precedendo-as com
uma barra invertida ('\'). Uma nova linha precedida por um '\' é equivalente a um espaço em branco.

Strings colocados em pares correspondentes de aspas, '' ',' `', ou'" ', formam partes de uma palavra;
metacaracteres nessas strings, incluindo espaços em branco e tabulações, não formam palavras separadas.
Essas citações têm semântica a ser descrita posteriormente. Dentro de pares de '' 'ou' "'
caracteres, uma nova linha precedida por um '\' fornece um verdadeiro caractere de nova linha.

Quando a entrada do shell não é um terminal, o caractere '#' introduz um comentário que
continua até o final da linha de entrada. Este significado especial é evitado quando precedido por
'\' e entre aspas usando '`', '' 'e'" '.

comandos
Um comando simples é uma sequência de palavras, a primeira das quais especifica o comando a ser
executado. Um comando simples ou uma sequência de comandos simples separados por '|' personagens
forma um pipeline. A saída de cada comando em um pipeline é conectada à entrada do
próximo. As sequências de pipelines podem ser separadas por ';' e, em seguida, são executadas sequencialmente.
Uma sequência de pipelines pode ser executada sem esperar imediatamente que ela termine por
seguindo-o com um '&'.

Qualquer um dos itens acima pode ser colocado em '(' ')' para formar um comando simples (que pode ser um componente
de um pipeline, por exemplo). Também é possível separar pipelines com '||' ou '&&'
mostrando, como na linguagem C, que o segundo deve ser executado apenas se o primeiro falhar ou
é bem-sucedido, respectivamente. (Ver Expressões.)

Empregos
O shell associa um trabalho com cada pipeline. Ele mantém uma tabela de trabalhos atuais, impressa por
que o empregos comando e atribui a eles pequenos números inteiros. Quando um trabalho é iniciado
de forma assíncrona com '&', o shell imprime uma linha que se parece com:

[1] 1234

mostrando que o trabalho que foi iniciado de forma assíncrona era o trabalho número 1 e tinha um (top-
nível) processo, cujo ID de processo era 1234.

Se você está executando um trabalho e deseja fazer outra coisa, pode ^Z (control-Z), que
envia um sinal SIGSTOP para o trabalho atual. O shell normalmente mostrará que o trabalho
foi “Parado” e imprime outro prompt. Você pode então manipular o estado deste
trabalho, colocando-o no fundo com o bg comando, ou execute alguns outros comandos e
eventualmente trazer o trabalho de volta para o primeiro plano com o fg comando. UMA ^Z faz efeito
imediatamente e é como uma interrupção em que a saída pendente e a entrada não lida são descartadas
quando é digitado. Existe outra chave especial ^Y que não gera um sinal SIGSTOP
até que um programa tente ler(2) isso. Esta solicitação pode ser digitada com antecedência quando você
preparou alguns comandos para um trabalho que você deseja interromper após lê-los.

Um trabalho executado em segundo plano será interrompido se tentar ler do terminal.
Normalmente, os trabalhos em segundo plano têm permissão para produzir resultados, mas isso pode ser desativado fornecendo
o comando chiqueiro parar. Se você definir esta opção tty, os trabalhos em segundo plano serão interrompidos quando
eles tentam produzir saída da mesma forma que fazem quando tentam ler a entrada.

Existem várias maneiras de se referir a jobs no shell. O caractere '%' apresenta um trabalho
nome. Se você deseja se referir ao trabalho número 1, você pode nomeá-lo como '% 1'. Apenas nomeando um trabalho
traz para o primeiro plano; portanto %1 é sinônimo de fg %1, trazendo o trabalho número 1 de volta para
o primeiro plano. Da mesma forma, dizendo %1 & retoma o trabalho número 1 em segundo plano. Os empregos podem
também podem ser nomeados por prefixos da string digitada para iniciá-los, se esses prefixos forem
inequívoco; portanto %ex normalmente reiniciaria um suspenso ex(1) trabalho, se houvesse apenas um
trabalho suspenso cujo nome começa com a string "ex". Também é possível dizer %?fragmento,
que especifica um trabalho cujo texto contém corda, se houver apenas um trabalho desse tipo.

O shell mantém uma noção dos empregos atuais e anteriores. Na produção sobre empregos, o
o trabalho atual é marcado com um '+' e o trabalho anterior com um '-'. A abreviatura '% +'
refere-se ao trabalho atual e '% -' refere-se ao trabalho anterior. Para analogia com o
sintaxe do história mecanismo (descrito abaixo), '%%' também é um sinônimo para o atual
trabalho.

O mecanismo de controle de trabalho requer que o chiqueiro(1) opção novo ser definido. É um artefato
a partir de um novo implementação do driver tty que permite a geração de caracteres de interrupção
do teclado para dizer aos trabalhos para pararem. Ver chiqueiro(1) para obter detalhes sobre as opções de configuração no
novo driver tty.

Status relatando
O shell aprende imediatamente sempre que um processo muda de estado. Normalmente informa você
sempre que um trabalho é bloqueado de modo que nenhum progresso posterior seja possível, mas apenas um pouco antes
ele imprime um prompt. Isso é feito para não atrapalhar seu trabalho. Se,
no entanto, você define a variável shell notificar, o shell irá notificá-lo imediatamente sobre as mudanças
de status em trabalhos de segundo plano. Também existe um comando shell notificar que marca um único
processo para que suas alterações de status sejam imediatamente relatadas. Por padrão notificar marcas
o processo atual; simplesmente diga notificar após iniciar um trabalho em segundo plano para marcá-lo.

Ao tentar sair do shell enquanto os trabalhos estão interrompidos, você será avisado de que “Você
trabalhos interrompidos ”. Você pode usar o empregos comando para ver o que são. Se você tentar sair novamente
imediatamente, o shell não irá avisá-lo uma segunda vez, e os trabalhos suspensos serão
terminado.

Envie o nome realização
Quando o recurso de completação do nome do arquivo é habilitado pela configuração da variável shell arquivoc (Vejo
conjunto), csh completará interativamente nomes de arquivo e nomes de usuário a partir de prefixos únicos quando
eles são inseridos a partir do terminal seguido pelo caractere de escape (a tecla de escape, ou
ao controle-[). Por exemplo, se o diretório atual se parece com

DSC.OLD bin cmd lib xml.c
DSC.NEW caosnet cmtest mail xmpl.o
classe de bancada dev mbox xmpl.out

e a entrada é

% vi ch

csh irá completar o prefixo “ch” para o único nome de arquivo correspondente “chaosnet”, mudando o
linha de entrada para

% vi caosnet

No entanto, dado

% vi D

csh irá apenas expandir a entrada para

% vi DSC.

e vai soar a campainha do terminal para indicar que a expansão está incompleta, pois lá
são dois nomes de arquivo que correspondem ao prefixo 'D'.

Se um nome de arquivo parcial for seguido pelo caractere de fim de arquivo (geralmente control-D), então,
em vez de completar o nome, csh irá listar todos os nomes de arquivo que correspondem ao prefixo. Para
exemplo, a entrada

% vi D

faz com que todos os arquivos começando com 'D' sejam listados:

DSC.NOVO DSC.ANTIGO

enquanto a linha de entrada permanece inalterada.

O mesmo sistema de escape e fim de arquivo também pode ser usado para expandir nomes de usuário parciais, se
a palavra a ser completada (ou listada) começa com o caractere til ('~'). Por exemplo,
digitando

cd ~ ro

pode produzir a expansão

cd ~ root

O uso da campainha do terminal para sinalizar erros ou combinações múltiplas pode ser inibido por
definindo a variável nenhum bipe.

Normalmente, todos os arquivos de um diretório específico são candidatos à complementação de nome. arquivos
com certos sufixos podem ser excluídos da consideração, definindo a variável figurar para
a lista de sufixos a serem ignorados. Portanto, se figurar é definido pelo comando

% definir fignore = (.o .out)

então digitando

% vi x

resultaria na conclusão de

% vi xml.c

ignorando os arquivos "xmpl.o" e "xmpl.out". No entanto, se a única conclusão possível
requer não ignorar esses sufixos, então eles não são ignorados. Além disso, figurar parece
não afeta a listagem de nomes de arquivo por control-D. Todos os arquivos são listados independentemente de seus
sufixos.

substituições
Agora descrevemos as várias transformações que o shell realiza na entrada na ordem em
onde eles ocorrem.

HISTÓRIA substituições
As substituições de histórico colocam palavras da entrada de comando anterior como porções de novos comandos,
tornando mais fácil repetir comandos, repetir argumentos de um comando anterior no atual
comando, ou corrigir erros de grafia no comando anterior com pouca digitação e um alto
grau de confiança. As substituições de histórico começam com o caractere '!' e pode começar
qualquer lugar no fluxo de entrada (com a condição de que não ninho). Esse '!' talvez
precedido por um '\' para evitar seu significado especial; por conveniência, um '!' personagem é passado
inalterado quando é seguido por um espaço em branco, tabulação, nova linha, '=' ou '('. (Substituições de histórico
também ocorre quando uma linha de entrada começa com '^'. Esta abreviatura especial será descrita
mais tarde.) Qualquer linha de entrada que contenha histórico de substituição é ecoada no terminal antes
ele é executado como teria sido digitado sem substituição de histórico.

Os comandos de entrada do terminal que consistem em uma ou mais palavras são salvos no histórico
Lista. As substituições de histórico reintroduzem sequências de palavras a partir desses comandos salvos
no fluxo de entrada. O tamanho da lista de histórico é controlado pelo história variável;
o comando anterior é sempre retido, independentemente do valor da variável de histórico.
Os comandos são numerados sequencialmente a partir de 1.

Para definição, considere a seguinte saída do história comando:

09 escreva para Michael
10 ex escrever.c
11 gato oldwrite.c
12 diff * write.c

Os comandos são mostrados com seus números de evento. Normalmente não é necessário usar o evento
números, mas o número do evento atual pode ser incluído no prompt colocando um '!' no
seqüência de caracteres de prompt.

Com o evento atual 13, podemos nos referir a eventos anteriores pelo número de evento '! 11', relativamente
como em '! -2' (referindo-se ao mesmo evento), por um prefixo de uma palavra de comando como em '! d' para
evento 12 ou '! wri' para o evento 9, ou por uma string contida em uma palavra no comando como em
'!?microfone?' também se referindo ao evento 9. Essas formas, sem alterações adicionais, simplesmente reintroduzem
as palavras dos eventos especificados, cada uma separada por um único espaço em branco. Como um caso especial,
'!!' refere-se ao comando anterior; portanto '!!' sozinho é um refazer.

Para selecionar palavras de um evento, podemos seguir a especificação do evento por um ':' e um
designador para as palavras desejadas. As palavras de uma linha de entrada são numeradas de 0, o primeiro
(geralmente comando) palavra sendo 0, a segunda palavra (primeiro argumento) sendo 1, etc. O básico
os designadores de palavras são:

0 primeira palavra (comando)
n n'o argumento
^ primeiro argumento; ou seja, '1'
$ último argumento
% palavra correspondida por (imediatamente anterior)?s? procurar
xy gama de palavras
-y abrevia '0-y'
* abrevia '^ - $', ou nada se houver apenas 1 palavra no evento
x* abrevia 'x- $'
x- como 'x *' mas omitindo a palavra '$'

O ':' que separa a especificação do evento da palavra designador pode ser omitido se o
o seletor de argumento começa com '^', '$', '*', '-' ou '%'. Depois da palavra opcional
designador, uma sequência de modificadores pode ser colocada, cada um precedido por um ':'. A seguir
modificadores são definidos:

h Remova um componente do nome do caminho à direita, deixando o cabeçalho.
r Remova um componente final '.xxx', deixando o nome da raiz.
e Remova tudo, exceto a parte da extensão '.xxx'.
s/ l / r / Substituto l para r.
t Remova todos os componentes principais do nome do caminho, deixando a cauda.
& Repita a substituição anterior.
g Aplique a alteração uma vez em cada palavra, prefixando a anterior; ovo&'.
a Aplique a alteração tantas vezes quanto possível em uma única palavra, prefixando o
acima de. Ele pode ser usado junto com 'g' para aplicar uma substituição globalmente.
p Imprime a nova linha de comando, mas não a executa.
q Cite as palavras substituídas, evitando novas substituições.
x Como 'q', mas divida as palavras em espaços em branco, tabulações e novas linhas.

A menos que precedido por um 'g', a alteração é aplicada apenas à primeira palavra modificável. Com
substituições, é um erro nenhuma palavra ser aplicável.

O lado esquerdo das substituições não são expressões regulares no sentido dos editores,
mas em vez disso, cadeias de caracteres. Qualquer caractere pode ser usado como delimitador no lugar de '/'; uma '\'
cita o delimitador no l e r cordas. O caractere '&' no lado direito
é substituído pelo texto da esquerda. Um '\' também aspas '&'. A NULL l ('//') usa o
string anterior de um l ou de uma sequência de varredura contextual s no '!?s\? '. o
delimitador final na substituição pode ser omitido se uma nova linha seguir imediatamente como
pode o final '?' em uma varredura contextual.

Uma referência de histórico pode ser fornecida sem uma especificação de evento; por exemplo, '! $'. Aqui o
a referência é para o comando anterior, a menos que uma referência de histórico anterior tenha ocorrido no
mesma linha, caso em que este formulário repete a referência anterior. Assim, “!? Foo? ^! $” Dá
o primeiro e o último argumento do comando correspondendo a “? foo?”.

Uma abreviatura especial de uma referência de histórico ocorre quando o primeiro caractere não em branco de
uma linha de entrada é um '^'. Isso é equivalente a “!: S ^” fornecendo uma abreviatura conveniente para
substituições no texto da linha anterior. Assim ^ lb ^ lib corrige a grafia de "lib" em
o comando anterior. Finalmente, uma substituição de histórico pode ser cercada por '{' e '}' se
necessário isolá-lo dos personagens que se seguem. Assim, depois de ls -ld ~ paul nós podemos
do ! {l} a façam ls -ld ~ paula, enquanto ! la procuraria um comando começando com “la”.

Citações de ´ e "
A citação de strings por '' 'e' "'pode ser usada para prevenir todos ou alguns dos restantes
substituições. Strings entre '' 'são impedidas de qualquer interpretação posterior.
Strings entre '"' podem ser expandidas conforme descrito abaixo.

Em ambos os casos, o texto resultante torna-se (todo ou parte de) uma única palavra; apenas em um especial
caso (ver Command Substituição abaixo) uma string entre aspas produz partes de mais de um
palavra; '' 'strings entre aspas nunca funcionam.

aliás substituição
O shell mantém uma lista de apelidos que podem ser estabelecidos, exibidos e modificados pelo
aliás e Unalias comandos. Depois que uma linha de comando é verificada, ela é analisada em diferentes
comandos e a primeira palavra de cada comando, da esquerda para a direita, é verificada para ver se há um
alias. Em caso afirmativo, o texto que é o alias desse comando é relido com o
mecanismo de histórico disponível como se esse comando fosse a linha de entrada anterior. o
as palavras resultantes substituem a lista de comandos e argumentos. Se nenhuma referência for feita ao
lista de histórico, então a lista de argumentos permanece inalterada.

Assim, se o alias para “ls” for “ls -l”, o comando ls / usr mapearia para ls -l / usr,
lista de argumentos aqui intacta. Da mesma forma, se o alias de “lookup” fosse “grep! ^
/ Etc / passwd" então pesquisa projeto de lei mapearia para grep projeto de lei / Etc / passwd.

Se um alias for encontrado, a transformação da palavra do texto de entrada é realizada e o
o processo de aliasing começa novamente na linha de entrada reformada. O loop é evitado se o primeiro
palavra do novo texto é igual ao antigo, sinalizando-o para evitar mais aliases.
Outros loops são detectados e causam um erro.

Observe que o mecanismo permite que os aliases introduzam a meta-sintaxe do analisador. Assim, podemos aliás
impressão 'pr \! * | lpr ' fazer um comando que prseus argumentos para a impressora de linha.

Variável substituição
O shell mantém um conjunto de variáveis, cada uma das quais tem como valor uma lista de zero ou mais
palavras. Algumas dessas variáveis ​​são definidas pelo shell ou referenciadas por ele. Por exemplo,
que o argumento variável é uma imagem da lista de argumentos do shell, e as palavras desta variável
valor são referidos de maneiras especiais.

Os valores das variáveis ​​podem ser exibidos e alterados usando o conjunto e não definido comandos.
Das variáveis ​​referidas pelo shell, um número é alternado; a casca não se importa com o que
seu valor é, apenas se eles estão definidos ou não. Por exemplo, o detalhado variável é um
alternar que faz com que a entrada do comando seja ecoada. A configuração desta variável resulta de
que o -v opção de linha de comando.

Outras operações tratam variáveis ​​numericamente. o @ comando permite cálculos numéricos para
ser executado e o resultado atribuído a uma variável. Os valores das variáveis ​​são, no entanto, sempre
representado como (zero ou mais) strings. Para fins de operações numéricas, o valor nulo
string é considerada zero, e a segunda palavra e as palavras adicionais dos valores de várias palavras são
ignorado.

Após a linha de entrada ser aliasada e analisada, e antes de cada comando ser executado, a variável
a substituição é executada, digitada por caracteres '$'. Esta expansão pode ser evitada por
precedendo o '$' com um '\' exceto entre aspas duplas (`" '), onde sempre ocorre, e
entre aspas simples (`''), onde nunca ocorre. Strings citados por crases (``) são
interpretado mais tarde (ver Command substituição abaixo), então a substituição de '$' não ocorre lá
até mais tarde, se for o caso. Um '$' é passado inalterado se seguido por um espaço em branco, tab ou fim de
linha.

Os redirecionamentos de entrada / saída são reconhecidos antes da expansão da variável e são variáveis
expandido separadamente. Caso contrário, o nome do comando e toda a lista de argumentos são expandidos
juntos. Assim, é possível que a primeira palavra (comando) (até este ponto) gere mais
de uma palavra, a primeira das quais se torna o nome do comando, e as demais se tornam
argumentos.

A menos que entre '"' ou dado o modificador ': q', os resultados da substituição de variável podem
eventualmente, o comando e o nome do arquivo serão substituídos. Dentro de '"', uma variável cujo valor consiste
de várias palavras se expande para (uma parte de) uma única palavra, com as palavras da variável
valor separado por espaços em branco. Quando o modificador ': q' é aplicado a uma substituição, a variável
irá expandir para várias palavras com cada palavra separada por um espaço e entre aspas para prevenir
comando posterior ou substituição de nome de arquivo.

As seguintes metaseqüências são fornecidas para a introdução de valores de variáveis ​​no shell
entrada. Exceto conforme observado, é um erro fazer referência a uma variável que não está configurada.

$ name
$ {name}
São substituídos pelas palavras do valor da variável nome, cada um separado por um
em branco. Cintas isolam nome de seguir personagens que, de outra forma, seriam
parte disso. Variáveis ​​shell têm nomes que consistem em até 20 letras e
dígitos que começam com uma letra. O caractere de sublinhado é considerado um
carta. Se nome não é uma variável de shell, mas é definida no ambiente, então
esse valor é retornado (mas os modificadores ':' e as outras formas fornecidas abaixo são
não disponível aqui).
$ name [seletor]
$ {name [selector]}
Pode ser usado para selecionar apenas algumas das palavras do valor de nome. O
o seletor está sujeito à substituição '$' e pode consistir em um único número
ou dois números separados por '-'. A primeira palavra do valor de uma variável é
numerado '1'. Se o primeiro número de um intervalo for omitido, o padrão é '1'.
Se o último número de um intervalo for omitido, o padrão é '$ # nome'. o
o seletor '*' seleciona todas as palavras. Não é um erro um intervalo estar vazio se
o segundo argumento é omitido ou está no intervalo.
$ # nome
$ {# name}
Fornece o número de palavras na variável. Isso é útil para uso posterior em um
“$ Argv [seletor]”.
$ 0 Substitui o nome do arquivo do qual a entrada do comando está sendo lida. Um
ocorre um erro se o nome não for conhecido.
$ number
$ {number}
Equivalente a “$ argv [número]”.
$ * Equivalente a “$ argv [*]”.

Os modificadores ': e', ': h', ': t', ': r', ': q' e ': x' podem ser aplicados às substituições
acima, como pode ': gh', ': gt' e ': gr'. Se as chaves '{' '}' aparecerem no formulário de comando, então o
os modificadores devem aparecer entre colchetes. A implementação atual permite apenas um ':'
modificador em cada expansão '$'.

As seguintes substituições não podem ser modificadas com modificadores ':'.
$? nome
$ {? nome}
Substitui a string “1” se o nome estiver definido, “0” se não estiver.
$? 0 Substitui '1' se o nome do arquivo de entrada atual for conhecido, '0' se não for.
$$ Substitua o número do processo (decimal) do shell (pai). Fazer NÃO usar
este mecanismo para gerar nomes de arquivos temporários; Vejo mktemp(1) em vez disso.
$! Substitua o número do processo (decimal) do último processo em segundo plano iniciado
por esta concha.
$ <Substitui uma linha da entrada padrão, sem nenhuma interpretação adicional.
Ele pode ser usado para ler o teclado em um script de shell.

Command e nome do arquivo substituição
As substituições restantes, comando e substituição de nome de arquivo, são aplicadas seletivamente para
os argumentos dos comandos integrados. Por seletivamente, queremos dizer que partes das expressões
que não são avaliados não estão sujeitos a essas expansões. Para comandos que não são
interno ao shell, o nome do comando é substituído separadamente da lista de argumentos.
Isso ocorre muito tarde, depois que o redirecionamento de entrada-saída é executado, e em um filho do
shell principal.

Command substituição
A substituição do comando é mostrada por um comando incluído em '`'. A saída de tal comando
normalmente é dividido em palavras separadas em espaços em branco, tabulações e novas linhas, com palavras nulas sendo
descartado; este texto então substitui a string original. Entre aspas duplas (`" '), apenas
novas linhas forçam novas palavras; espaços em branco e tabulações são preservados.

Em qualquer caso, a única nova linha final não força uma nova palavra. Observe que é assim
possível que a substituição de um comando produza apenas parte de uma palavra, mesmo se o comando
produz uma linha completa.

Nome do arquivo substituição
Se uma palavra contiver qualquer um dos caracteres '*', '?', '[' Ou '{', ou começar com o caractere
'~', então essa palavra é uma candidata para substituição de nome de arquivo, também conhecido como “globbing”.
Esta palavra é então considerada um padrão e substituída por uma lista ordenada alfabeticamente de
nomes de arquivo que correspondem ao padrão. Em uma lista de palavras que especificam a substituição do nome do arquivo
é um erro quando nenhum padrão corresponde a um nome de arquivo existente, mas não é necessário para cada
padrão para combinar. Apenas os metacaracteres '*', '?' E '[' implicam correspondência de padrão, o
os caracteres '~' e '{' são mais parecidos com abreviações.

Em nomes de arquivos correspondentes, o caractere '.' no início de um nome de arquivo ou imediatamente
seguindo um '/', bem como o caractere '/' devem ser correspondidos explicitamente. O personagem '*'
corresponde a qualquer string de caracteres, incluindo a string nula. O personagem '?' corresponde a qualquer
único personagem.

A sequência “[...]” corresponde a qualquer um dos caracteres incluídos. Dentro de “[...]”, um par de
caracteres separados por '-' corresponde a qualquer caractere lexicamente entre os dois (inclusive).
Dentro de “[...]”, o nome de um personagem classe entre '[:' e ':]' representam a lista
de todos os personagens pertencentes a essa classe. Classes de personagens com suporte:

alnum cntrl espaço inferior
impressão de dígito alfa superior
gráfico em branco punct xdigit

Esses caracteres correspondem usando as macros especificadas em ctype(3). Uma classe de personagem não pode ser
usado como um ponto final de um intervalo.

O caractere '~' no início de um nome de arquivo refere-se aos diretórios pessoais. De pé
sozinho, ou seja, '~', ele se expande para o diretório inicial do invocador conforme refletido no valor de
a variável Início. Quando seguido por um nome que consiste em letras, dígitos e '-'
caracteres, o shell procura por um usuário com esse nome e substitui sua casa
diretório; assim, “~ ken” pode se expandir para “/ usr / ken” e “~ ken / chmach” para “/ usr / ken / chmach”.
Se o caractere '~' for seguido por um caractere diferente de uma letra ou '/', ou não
aparecem no início de uma palavra, não são perturbadas.

A metanotação “a {b, c, d} e” é uma abreviatura para “abe ace ade”. A ordem da esquerda para a direita é
preservado, com os resultados das correspondências sendo classificados separadamente em um nível baixo para preservar este
pedido. Esta construção pode ser aninhada. Assim, “~ source / s1 / {oldls, ls} .c” se expande para
“/Usr/source/s1/oldls.c /usr/source/s1/ls.c” sem chance de erro se o diretório inicial
para “fonte” é “/ usr / fonte”. Da mesma forma, “../{memo,*box}” pode se expandir para “../memo ../box
../mbox ”. (Observe que "memorando" não foi classificado com os resultados da correspondência para "* caixa".) Como um
caso especial '{', '}' e '{}' são passados ​​sem perturbações.

Input / output
A entrada padrão e a saída padrão de um comando podem ser redirecionadas com o seguinte
sintaxe:

<nome Abrir arquivo nome (que é a primeira variável, comando e nome de arquivo expandidos) como
a entrada padrão.
<< palavra
Leia a entrada do shell até uma linha que seja idêntica a palavra. palavra não é
sujeito a variável, comando ou substituição de nome de arquivo, e cada linha de entrada
é comparado com palavra antes que quaisquer substituições sejam feitas na linha de entrada.
A menos que aspas '\', '"', '' 'ou'` 'apareçam em palavra, variável e comando
a substituição é realizada nas linhas intermediárias, permitindo '\' citar '$',
'\' e '`'. Os comandos que são substituídos têm todos os espaços em branco, guias e
novas linhas preservadas, exceto para a nova linha final que é descartada. o
o texto resultante é colocado em um arquivo temporário anônimo que é fornecido ao
comando como sua entrada padrão.
> nome
>! nome
> & nome
> &! nome
O arquivo nome é usado como saída padrão. Se o arquivo não existir, então
é criado; se o arquivo existir, ele será truncado; seus conteúdos anteriores são
perdido.

Se a variável nocturno estiver definido, então o arquivo não deve existir ou ser um
arquivo especial de caracteres (por exemplo, um terminal ou / dev / null) ou um erro resulta.
Isso ajuda a evitar a destruição acidental de arquivos. Aqui o '!' formulários podem
ser usado para suprimir essa verificação.

Os formulários envolvendo '&' direcionam a saída de erro padrão para o especificado
arquivo, bem como a saída padrão. nome é expandido da mesma forma que '<'
os nomes dos arquivos de entrada são.
>> nome
>> & nome
>>! nome
>> &! nome
Usa arquivo nome como saída padrão; como '>', mas coloca a saída no final
do arquivo. Se a variável nocturno está definido, então é um erro para o
arquivo não exista a menos que um dos '!' formulários são fornecidos. Caso contrário, semelhante a
'>'.

Um comando recebe o ambiente no qual o shell foi invocado como modificado pelo input-
parâmetros de saída e a presença do comando em um pipeline. Assim, ao contrário de alguns
shells, comandos executados a partir de um arquivo de comandos shell não têm acesso ao texto do
comandos por padrão; em vez disso, eles recebem a entrada padrão original do shell. o
O mecanismo '<<' deve ser usado para apresentar dados embutidos. Isso permite que os scripts de comando do shell
funcionam como componentes de pipelines e permitem que o shell bloqueie a leitura de sua entrada. Observe que
a entrada padrão padrão para uma execução de comando separada é não modificado para ser o arquivo vazio
/ dev / null; em vez disso, a entrada padrão permanece como a entrada padrão original do shell.
Se este for um terminal e se o processo tentar ler a partir do terminal, então o
o processo será bloqueado e o usuário será notificado (ver Empregos acima).

A saída de erro padrão pode ser direcionada através de um tubo com a saída padrão. Simplesmente
use a forma '| &' em vez de apenas '|'.

Expressões
Vários dos comandos integrados (a serem descritos posteriormente) usam expressões, nas quais o
operadores são semelhantes aos de C, com a mesma precedência, mas com o oposto
agrupamento: direita para esquerda. Essas expressões aparecem no @, saída, if e enquanto comandos.
Os seguintes operadores estão disponíveis:

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

Aqui, a precedência aumenta para a direita, '==' '! =' '= ~' E '! ~', '<=' '> =' '<' E '>',
'<<' e '>>', '+' e '-', '*' '/' e '%' estando, em grupos, no mesmo nível. O '=='
Os operadores '! =' '= ~' e '! ~' comparam seus argumentos como strings; todos os outros operam em
números. Os operadores '= ~' e '! ~' São como '! =' E '==' exceto que o lado direito
é um de cinto de segurança (contendo, por exemplo, * 's,?' s, e instâncias de "[...]") contra os quais o
operando de mão é correspondido. Isso reduz a necessidade de uso do interruptor declaração em casca
scripts quando tudo o que é realmente necessário é a correspondência de padrões.

Strings que começam com '0' são consideradas números octais. Argumentos nulos ou ausentes são
considerado '0'. Os resultados de todas as expressões são strings, que representam decimais
números. É importante notar que dois componentes de uma expressão não podem aparecer no
mesma palavra; exceto quando adjacente a componentes de expressões que são sintaticamente
significativos para o analisador ('&', '|', '<', '>', '(', e ')'), eles devem ser circundados por
espaços.

Também estão disponíveis em expressões como operandos primitivos as execuções de comandos entre '{'
e '}' e arquivar consultas do formulário -l nome onde l é um dos:

r acesso de leitura
w acesso de escrita
x executar acesso
a existência
o propriedade
z tamanho zero
f arquivo simples
diretório d

O nome especificado é o comando e o nome do arquivo expandido e, em seguida, testado para ver se tem o
relação especificada com o usuário real. Se o arquivo não existe ou está inacessível, então
todas as consultas retornam falso, ou seja, '0'. As execuções do comando são bem-sucedidas, retornando verdadeiro, ou seja,
'1', se o comando sai com status 0, caso contrário eles falham, retornando falso, ou seja, '0'.
Se informações de status mais detalhadas forem necessárias, o comando deve ser executado fora
uma expressão e a variável estado examinado.

Control fluxo
O shell contém vários comandos que podem ser usados ​​para regular o fluxo de controle em
arquivos de comando (scripts de shell) e (de maneiras limitadas, mas úteis) da entrada do terminal. Esses
todos os comandos operam forçando o shell a reler ou pular sua entrada e, por causa do
implementação, restrinja a colocação de alguns dos comandos.

A foreach, interruptor e enquanto declarações, bem como o se-então-senão forma do if
declaração exige que as principais palavras-chave apareçam em um único comando simples em uma linha de entrada
como mostrado abaixo.

Se a entrada do shell não for procurável, o shell armazena a entrada sempre que um loop está sendo
ler e realizar buscas neste buffer interno para realizar a releitura implícita pelo
ciclo. (Na medida em que isso permite, goto para trás terá sucesso em não procuráveis
entradas.)

Autenticador comandos
Os comandos integrados são executados dentro do shell. Se um comando embutido ocorre como qualquer
componente de um pipeline, exceto o último, então ele é executado em um sub-shell.

aliás
aliás nome
aliás nome lista de palavras
O primeiro formulário imprime todos os aliases. A segunda forma imprime o alias do nome.
A forma final atribui o especificado lista de palavras como o apelido de nome; lista de palavras
é o comando e o nome do arquivo substituídos. nome não tem permissão para ser "alias" ou
“Unalias”.

alocar Mostra a quantidade de memória dinâmica adquirida, dividida em usada e livre
memória. Com um argumento mostra o número de blocos livres e usados ​​em cada
categoria de tamanho. As categorias começam no tamanho 8 e dobram a cada etapa. Esse
a saída do comando pode variar entre os tipos de sistema, uma vez que outros sistemas além do
VAX pode usar um alocador de memória diferente.

bg
bg %trabalho ...
Coloca os trabalhos atuais ou especificados em segundo plano, continuando-os se
eles foram parados.

quebrar Faz com que a execução seja retomada após o final do recinto mais próximo foreach or
enquanto. Os comandos restantes na linha atual são executados. Multinível
quebras são, portanto, possíveis escrevendo-os todos em uma linha.

pausa
Faz uma pausa de um interruptor, retomando após o termina.

casas rótulo:
Um rótulo em um interruptor declaração conforme discutido abaixo.

cd
cd nome
chdir
chdir nome
Mude o diretório de trabalho do shell para diretório nome. Se nenhum argumento é
fornecido, em seguida, mude para o diretório inicial do usuário. Se nome não é encontrado como
um subdiretório do diretório atual (e não começa com '/', './' ou
'../'), então cada componente da variável caminho do cd é verificado para ver se
um subdiretório nome. Finalmente, se tudo mais falhar, mas nome é uma variável de shell
cujo valor começa com '/', então isso é tentado para ver se é um diretório.

continuar
Continue a execução do fechamento mais próximo enquanto or foreach. O resto do
comandos na linha atual são executados.

omissão:
Rotula o caso padrão em um interruptor demonstração. O padrão deve vir depois
todos os casas etiquetas.

dirs Imprime a pilha do diretório; o topo da pilha está à esquerda, o primeiro
diretório na pilha sendo o diretório atual.

eco lista de palavras
eco -n lista de palavras
As palavras especificadas são gravadas na saída padrão do shell, separadas por
espaços e terminados com uma nova linha, a menos que o -n opção é especificada.

outro
final
endif
termina Veja a descrição do foreach, if, interruptor e enquanto declarações abaixo.

avaliação arg ...
(Como em sh(1).) Os argumentos são lidos como entrada para o shell e o resultado
comando (s) executado (s) no contexto do shell atual. Isso geralmente é usado
para executar comandos gerados como resultado de comando ou variável
substituição, uma vez que a análise ocorre antes dessas substituições. Ver tsé-tsé(1)
para um exemplo de uso avaliação.

exec comando
O comando especificado é executado no lugar do shell atual.

saída
saída (expr)
O shell sai com o valor de estado variável (primeira forma) ou
com o valor do especificado expr (segunda forma).

fg
fg %trabalho ...
Traz os trabalhos atuais ou especificados para o primeiro plano, continuando-os se
eles foram parados.

foreach nome (lista de palavras)
...
final A variável nome é sucessivamente definido para cada membro de lista de palavras e os votos de
sequência de comandos entre este comando e a correspondência final são executados.
(Ambos foreach e final deve aparecer sozinho em linhas separadas.)
comando continuar pode ser usado para continuar o loop prematuramente e o
comando quebrar para encerrá-lo prematuramente. Quando este comando é lido do
terminal, o loop é lido uma vez com '?' antes de qualquer declaração em
o loop é executado. Se você cometer um erro ao digitar um loop no terminal
você pode apagá-lo.

glob lista de palavras
Como eco mas nenhum escape '\' é reconhecido e as palavras são delimitadas por NUL
caracteres na saída. Útil para programas que desejam usar o shell para
nome do arquivo expande uma lista de palavras.

Goto palavra
O especificado palavra é o nome do arquivo e o comando expandidos para produzir uma string do
formulário 'rótulo'. O shell retrocede sua entrada tanto quanto possível e pesquisa
para uma linha do formulário “etiqueta:”, possivelmente precedida de espaços em branco ou tabulações.
A execução continua após a linha especificada.

hashstat
Imprime uma linha de estatísticas mostrando o quão eficaz a tabela hash interna foi
na localização de comandos (e evitando exec´s). Um exec é tentado para cada
componente do caminho onde a função hash indica um possível acerto, e em
cada componente que não começa com '/'.

história
história n
história -h n
história -r n
Exibe a lista de eventos do histórico; E se n é dado, apenas o n eventos mais recentes
são impressos. o -h opção faz com que a lista de histórico seja impressa sem
números principais. Este formato produz arquivos adequados para sourcing usando o
-h opção para fonte. O -r opção inverte a ordem de impressão para ser mais
recente primeiro em vez de mais antigo primeiro.

if (expr) comando
Se a expressão especificada for avaliada como verdadeira, então o único comando de
argumentos é executado. Substituição de variável em comando acontece cedo, no
ao mesmo tempo que faz para o resto do if comando. comando deve ser um simples
comando, não um pipeline, uma lista de comandos ou uma lista de comandos entre parênteses.
O redirecionamento de entrada / saída ocorre mesmo se expr é falso, ou seja, quando o comando é
não executado (este é um bug).

if (expr) então
...
outro if (expr2) então
...
outro
...
endif Se o especificado expr é verdade então os comandos até o primeiro outro e guarante que os mesmos estão
executado; caso contrário, se expr2 é verdade então os comandos até o segundo outro
são executados, etc. Qualquer número de senão-se pares são possíveis; apenas um endif
é preciso. O outro parte também é opcional. (As palavras outro e endif
deve aparecer no início das linhas de entrada; a if deve aparecer sozinho em seu
linha de entrada ou após um outro.)

empregos
empregos -l
Lista os trabalhos ativos; a -l opção lista IDs de processo, além do
informações normais.

matar %trabalho
matar [-s nome_do_sinal] pid
matar -assinatura pid ...
matar -l [status_de_saída]
Envia o sinal SIGTERM (término) ou o sinal especificado para o
trabalhos ou processos especificados. Os sinais são dados por número ou por nomes
(conforme dado em ⟨sinal.h⟩, Sem o prefixo “SIG”). Os nomes dos sinais são
listado por “kill -l”; se um status_de_saída é especificado, apenas o correspondente
o nome do sinal será escrito. Não há padrão; apenas dizer "matar" não
enviar um sinal para o trabalho atual. Se o sinal enviado for SIGTERM
(encerrar) ou SIGHUP (desligar), então o trabalho ou processo será enviado um SIGCONT
(continuar) sinalizar também.

limitar
limitar recurso
limitar recurso uso máximo
limitar -h
limitar -h recurso
limitar -h recurso uso máximo
Limita o consumo pelo processo atual e cada processo que ele cria para
não exceder individualmente uso máximo no especificado recurso. Se não
uso máximo é fornecido, então o limite atual é impresso; se não recurso is
dado, então todas as limitações são dadas. Se o -h bandeira é dada, o difícil
limites são usados ​​em vez dos limites atuais. Os limites rígidos impõem um
teto sobre os valores dos limites atuais. Apenas o superusuário pode aumentar o
limites rígidos, mas um usuário pode diminuir ou aumentar os limites de corrente dentro dos limites legais
alcance.

Os recursos controláveis ​​atualmente incluem:

tempo de CPU o número máximo de segundos de CPU a ser usado por cada processo.

tamanho do arquivo o maior arquivo único (em bytes) que pode ser criado.

tamanho de dados o crescimento máximo da região de dados + pilha via sbrk(2) além
o final do texto do programa.

Tamanho da pilha o tamanho máximo da região da pilha estendida automaticamente.

coredumpsize o tamanho do maior core dump (em bytes) que será
criado.

uso da memória o tamanho máximo (em bytes) para o qual o conjunto residente de um processo
o tamanho (RSS) pode aumentar.

travado na memória O tamanho máximo (em bytes) que um processo pode bloquear na memória
usando o mllock(2) função.

maxproc O número máximo de processos simultâneos para este ID do usuário.

Abrir arquivos O número máximo de arquivos abertos simultaneamente para este ID de usuário.

vmemoryuse o tamanho máximo (em bytes) até o qual o tamanho total de um processo pode
crescer.

A uso máximo pode ser dado como um número (ponto flutuante ou inteiro) seguido
por um fator de escala. Para todos os limites, exceto tempo de CPU a escala padrão é 'k'
ou “kilobytes” (1024 bytes); um fator de escala de 'm' ou "megabytes" também pode ser
usado. Para tempo de CPU a escala padrão é “segundos”; um fator de escala de 'm' para
minutos ou 'h' para horas, ou um tempo na forma “mm: ss” dando minutos e
segundos também podem ser usados.

Para ambos recurso nomes e fatores de escala, prefixos inequívocos dos nomes
satisfazer.

entrar Encerra um shell de login, substituindo-o por uma instância de / usr / bin / login.
Esta é uma maneira de fazer logoff, incluída para compatibilidade com sh(1).

Sair Encerra um shell de login. Especialmente útil se ignorar é definido.

agradável
agradável + numero
agradável comando
agradável + numero comando
O primeiro formulário define a prioridade de agendamento para este shell para 4. O segundo
formulário define a prioridade para o dado número. Os dois últimos formulários executam o comando
na prioridade 4 e número respectivamente. Quanto maior o número, menos CPU
o processo vai começar. O superusuário pode especificar a prioridade negativa usando
“Nice -number ...”. comando é sempre executado em um sub-shell, e o
restrições colocadas em comandos de forma simples if declarações se aplicam.

nohup
nohup comando
A primeira forma pode ser usada em scripts de shell para fazer com que os bloqueios sejam ignorados por
o restante do script. A segunda forma faz com que o comando especificado para
ser executado com desconexões ignoradas. Todos os processos separados com '&' são efetivamente
nohup'ed.

notificar
notificar %trabalho ...
Faz com que o shell notifique o usuário de forma assíncrona quando o status do
mudanças de empregos atuais ou especificadas; normalmente a notificação é apresentada antes de um
mensagem. Isto é automático se a variável shell notificar é definido.

onintr
onintr -
onintr rótulo
Controle a ação do shell nas interrupções. A primeira forma restaura o
ação padrão do shell em interrupções, que é encerrar scripts de shell
ou para retornar ao nível de entrada de comando do terminal. A segunda forma onintr -
faz com que todas as interrupções sejam ignoradas. A forma final faz com que o shell
execute um Goto rótulo quando uma interrupção é recebida ou um processo filho
termina porque foi interrompido.

Em qualquer caso, se o shell está executando desconectado e as interrupções estão sendo
ignorado, todas as formas de onintr não têm significado e as interrupções continuam a ser
ignorado pelo shell e todos os comandos invocados. Finalmente, onintr declarações são
ignorado nos arquivos de inicialização do sistema onde as interrupções são desabilitadas
(/etc/csh.cshrc, /etc/csh.login).

popd
popd +n
Exibe a pilha do diretório, retornando ao novo diretório superior. Com um
argumento “+n”Descarta o n´ª entrada na pilha. Os membros da
pilha de diretórios é numerada a partir do topo, começando em 0.

pushd
pushd nome
pushd +n
Sem argumentos, pushd troca os dois principais elementos do diretório
pilha. Dado um nome argumento, pushd muda para o novo diretório (ala cd) e
empurra o antigo diretório de trabalho atual (como em cwd) na pilha de diretórios.
Com um argumento numérico, pushd gira o n´º argumento do diretório
empilhar para ser o elemento superior e as alterações nele. Os membros da
pilha de diretórios é numerada a partir do topo, começando em 0.

reescar Faz com que a tabela hash interna do conteúdo dos diretórios no caminho
variável a ser recomputada. Isso é necessário se novos comandos forem adicionados ao
diretórios no caminho enquanto você estiver logado. Isso deve ser apenas
necessário se você adicionar comandos a um de seus próprios diretórios, ou se um sistema
o programador altera o conteúdo de um diretório do sistema.

repetir contar comando
O especificado comando, que está sujeito às mesmas restrições que o
comando em uma linha if declaração acima, é executado contar vezes. I / O
os redirecionamentos ocorrem exatamente uma vez, mesmo que contar é 0.

conjunto
conjunto nome
conjunto nome= palavra
conjunto nome [índice]= palavra
conjunto nome= (lista de palavras)
A primeira forma do comando mostra o valor de todas as variáveis ​​do shell.
Variáveis ​​que têm outra palavra como valor são impressas como um
lista de palavras entre parênteses. O segundo formulário define nome para a string nula. o
conjuntos de terceira forma nome para o solteiro palavra. A quarta forma define o índice
componente de nome para palavra; este componente já deve existir. A forma final
conjuntos nome para a lista de palavras em lista de palavras. O valor é sempre comando e
nome do arquivo expandido.

Esses argumentos podem ser repetidos para definir vários valores em um único conjunto
comando. Observe, no entanto, que a expansão da variável acontece para todos os argumentos
antes que qualquer configuração ocorra.

Setenv
Setenv nome
Setenv nome valor
O primeiro formulário lista todas as variáveis ​​de ambiente atuais. É equivalente a
printenv(1). A última forma define o valor da variável de ambiente nome ser
valor, uma única corda. O segundo formulário define nome para uma string vazia. o
as variáveis ​​de ambiente mais comumente usadas, USER, TERM e PATH são
automaticamente importado e exportado do csh variáveis usuário, prazo e
caminho; não há necessidade de usar Setenv Para estes.

mudança
mudança variável
Os membros de argumento são deslocados para a esquerda, descartando argumento[1] É um
erro para argumento não deve ser definido ou ter menos de uma palavra como valor. o
a segunda forma executa a mesma função na variável especificada.

fonte nome
fonte -h nome
O shell lê comandos de nome. fonte os comandos podem ser aninhados; se eles
estão aninhados muito profundamente, o shell pode ficar sem descritores de arquivo. Um erro em
a fonte em qualquer nível termina todos os aninhados fonte comandos. Normalmente entrada
durante fonte os comandos não são colocados na lista de histórico; a -h opção causa
os comandos a serem colocados na lista de histórico sem serem executados.

Pare
Pare %trabalho ...
Interrompe os trabalhos atuais ou especificados que estão sendo executados em segundo plano.

suspender
Faz com que o projétil pare no meio do caminho, como se tivesse enviado uma parada
sinalizar com ^Z. Isso é mais frequentemente usado para interromper shells iniciados por su(1).

interruptor (corda)
casas str1:
...
pausa
...
omissão:
...
pausa
termina Cada rótulo de caso é correspondido sucessivamente com o especificado corda, o que é
primeiro comando e nome de arquivo expandidos. Os metacaracteres do arquivo '*', '?' e
“[...]” pode ser usado nos rótulos de caso, que são variáveis ​​expandidas. Se nenhum
dos rótulos correspondem antes que o rótulo "padrão" seja encontrado, então a execução
começa após o rótulo padrão. Cada etiqueta de caso e a etiqueta padrão devem
aparecem no início de uma linha. O comando pausa faz com que a execução para
continue depois do termina. Caso contrário, o controle pode cair nas etiquetas do caso e
o rótulo padrão como em C. Se nenhum rótulo corresponder e não houver um padrão,
a execução continua após o termina.

tempo
tempo comando
Sem nenhum argumento, um resumo do tempo usado por este shell e seus filhos é
impresso. Se forem dados argumentos, o comando simples especificado é cronometrado e um
resumo de tempo conforme descrito no tempo variável é impressa. Se necessário,
um shell extra é criado para imprimir a estatística de tempo quando o comando
completa.

umask
umask valor
A máscara de criação de arquivo é exibida (primeiro formulário) ou definida para o valor especificado
(segunda forma). A máscara é dada em octal. Os valores comuns para a máscara são
002 dando todo acesso ao grupo e acesso de leitura e execução a outros ou
022 dando todo o acesso, exceto acesso de gravação para usuários no grupo ou outros.

Unalias de cinto de segurança
Todos os apelidos cujos nomes correspondem ao padrão especificado são descartados. Assim todos
aliases são removidos por Unalias *. Não é um erro nada ser
Unaliased.

unha O uso da tabela hash interna para agilizar a localização dos programas executados é
Desativado.

ilimitado
ilimitado recurso
ilimitado -h
ilimitado -h recurso
Remove a limitação de recurso. Se não recurso é especificado, então todos
recurso limitações são removidas. Se -h é dado, o disco correspondente
limites são removidos. Apenas o superusuário pode fazer isso.

não definido de cinto de segurança
Todas as variáveis ​​cujos nomes correspondem ao padrão especificado são removidas. Assim todos
variáveis ​​são removidas por não definido *; isso tem um lado visivelmente desagradável
efeitos. Não é um erro nada ser não definido.

indefinido de cinto de segurança
Remove todas as variáveis ​​cujos nomes correspondem ao padrão especificado do
ambiente. Veja também o Setenv comando acima e printenv(1).

esperar Aguarde todos os trabalhos em segundo plano. Se o shell for interativo, uma interrupção
pode atrapalhar a espera. Após a interrupção, o shell imprime nomes e trabalhos
números de todos os trabalhos conhecidos como pendentes.

qual comando
Exibe o comando resolvido que será executado pelo shell.

enquanto (expr)
...
final Embora a expressão especificada seja avaliada como diferente de zero, os comandos entre os
enquanto e a correspondência final são avaliados. quebrar e continuar pode ser usado para
terminar ou continuar o loop prematuramente. (O enquanto e final deve aparecer
sozinhos em suas linhas de entrada.) O prompt ocorre aqui pela primeira vez por meio do
loop como para o foreach declaração se a entrada for um terminal.

%trabalho Traz o trabalho especificado para o primeiro plano.

%trabalho & Continua o trabalho especificado em segundo plano.

@
@ nome= exp
@ nome [índice]= exp
A primeira forma imprime os valores de todas as variáveis ​​do shell. A segunda forma
define o especificado nome ao valor de expr. Se a expressão contém '<',
'>', '&' ou '|' então pelo menos esta parte da expressão deve ser colocada
dentro de '(' ')'. A terceira forma atribui o valor de expr ao índice
argumento de nome. Tanto nome ea sua índice'o componente já deve existir.

Os operadores '* =', '+ =', etc. estão disponíveis como em C. O espaço que separa
o nome do operador de atribuição é opcional. Os espaços são, no entanto,
obrigatório na separação de componentes de expr, que de outra forma seria solteiro
palavras.

Operadores pós-fixados especiais '++' e '-' aumentam e diminuem nome
respectivamente; ou seja, “@ i ++”.

Pré-definido e meio Ambiente variáveis
As seguintes variáveis ​​têm um significado especial para o shell. Destes, argumento, cwd, Início, caminho,
pronto, concha e estado são sempre definidos pelo shell. Exceto por cwd e estado, Este
a configuração ocorre apenas na inicialização; essas variáveis ​​não serão modificadas a menos que feito
explicitamente pelo usuário.

O shell copia a variável de ambiente USER para a variável usuário, TERM em prazo e
HOME em Início, e os copia de volta para o ambiente sempre que o shell normal
variáveis ​​são redefinidas. A variável de ambiente PATH é tratada da mesma forma; não é necessário
se preocupar com sua configuração diferente do arquivo .cshrc tão inferior csh processos irão
importar a definição de caminho do ambiente e reexportá-lo se você alterá-lo.

argumento Definido para os argumentos do shell, é a partir desta variável que posicional
os parâmetros são substituídos; ou seja, “$ 1” é substituído por “$ argv [1]”, etc.

caminho do cd Fornece uma lista de diretórios alternativos pesquisados ​​para encontrar subdiretórios em chdir
comandos.

cwd O nome do caminho completo do diretório atual.

eco Definido quando o -x opção de linha de comando é fornecida. Faz com que cada comando e seu
argumentos a serem ecoados antes de ser executado. Para comandos não integrados, todos
as expansões ocorrem antes de ecoar. Os comandos integrados são ecoados antes do comando e
substituição de nome de arquivo, uma vez que essas substituições são feitas seletivamente.

arquivoc Habilite a conclusão do nome do arquivo.

históricos Pode receber um valor de string para alterar os caracteres usados ​​na história
substituição. O primeiro caractere de seu valor é usado como a história
caractere de substituição, substituindo o caractere padrão '!'. O segundo
caractere de seu valor substitui o caractere '^' em substituições rápidas.

arquivo hist Pode ser definido como o nome do caminho onde o histórico será salvo / restaurado.

história Pode receber um valor numérico para controlar o tamanho da lista de histórico. Algum
comando que foi referenciado nestes muitos eventos não será descartado. Também
grandes valores de história pode executar o shell sem memória. O último executado
comando é sempre salvo na lista de histórico.

Início O diretório inicial do invocador, inicializado a partir do ambiente. o
expansão de nome de arquivo de “~”Refere-se a esta variável.

ignorar Se definido, o shell ignora o fim do arquivo dos dispositivos de entrada que são terminais.
Isso evita que os projéteis sejam acidentalmente mortos por control-Ds.

enviar Os arquivos nos quais o shell verifica o e-mail. Esta verificação é feita após cada
conclusão do comando que resultará em um prompt, se um intervalo especificado tiver
decorrido. O shell diz “Você tem um novo e-mail”. se o arquivo existe com um acesso
tempo não maior do que seu tempo de modificação.

Se a primeira palavra do valor de enviar é numérico, ele especifica um e-mail diferente
intervalo de verificação, em segundos, do que o padrão, que é de 10 minutos.

Se vários arquivos de e-mail forem especificados, o shell dirá “Novo e-mail em nome" quando
há correio no arquivo nome.

nocturno Conforme descrito na seção sobre Input / output, as restrições são colocadas na saída
redirecionamento para garantir que os arquivos não sejam destruídos acidentalmente, e que '>>'
redirecionamentos referem-se a arquivos existentes.

noglob Se definido, a expansão do nome do arquivo é inibida. Esta inibição é mais útil em shell
scripts que não lidam com nomes de arquivo, ou depois que uma lista de nomes de arquivo
foram obtidos e outras expansões não são desejáveis.

incomparável Se definido, não é um erro para uma expansão de nome de arquivo não corresponder a qualquer
arquivos; em vez disso, o padrão primitivo é retornado. Ainda é um erro para o
padrão primitivo a ser malformado; ou seja, “echo [” ainda dá um erro.

notificar Se definido, o shell notifica de forma assíncrona sobre as conclusões do trabalho; o padrão é
apresente as conclusões do trabalho antes de imprimir um prompt.

caminho Cada palavra do caminho variável especifica um diretório no qual os comandos devem ser
procurado para execução. Uma palavra nula especifica o diretório atual. Se houver
não caminho variável então apenas nomes de caminho completos serão executados. O caminho de pesquisa usual
é ".", "/ bin","/ usr / bin","/ sbin"E"/ usr / sbin”, Mas isso pode variar de
sistema para sistema. Para o superusuário, o caminho de pesquisa padrão é “/ bin"
"/ usr / bin","/ sbin", E"/ usr / sbin”. Uma concha que não recebe nem o -c nem
que o -t opção normalmente hash o conteúdo dos diretórios no caminho
variável após a leitura .cshrc, e cada vez que o caminho variável é redefinida. Se novo
comandos são adicionados a esses diretórios enquanto o shell está ativo, pode ser
necessário fazer um reescar ou os comandos podem não ser encontrados.

pronto A string que é impressa antes de cada comando é lida de um painel interativo
entrada do terminal. Se um '!' aparece na string, ele será substituído pelo
número do evento atual, a menos que um '\' precedente seja fornecido. O padrão é “%” ou “#” para
o superusuário.

salvar histórico É fornecido um valor numérico para controlar o número de entradas da lista de histórico
que são salvos em ~ / .history quando o usuário efetua logout. Qualquer comando que foi
referenciado neste muitos eventos serão salvos. Durante a inicialização, as fontes do shell
~ / .history na lista de histórico, permitindo que o histórico seja salvo nos logins. Também
grandes valores de salvar histórico irá desacelerar o shell durante a inicialização. Se salvar histórico
é apenas definido, o shell usará o valor de história.

concha O arquivo no qual o shell reside. Esta variável é usada na bifurcação de cascas para
interpretar arquivos que têm bits de execução definidos, mas que não são executáveis ​​pelo
sistema. (Veja a descrição de Não embutido comando execução abaixo.)
Inicializado na página inicial (dependente do sistema) do shell.

estado O status retornado pelo último comando. Se terminou de forma anormal, então 0200
é adicionado ao status. Comandos integrados que falham retornam status de saída 1, todos
outros comandos integrados definem o status como 0.

tempo Controla o tempo automático de comandos. Se definido, então qualquer comando que leve mais
do que muitos segundos de CPU causará uma linha dando ao usuário, sistema e tempos reais,
e uma porcentagem de utilização que é a relação entre o usuário e os tempos do sistema em relação ao tempo real
hora de ser impresso quando terminar.

detalhado Definido pelo -v opção de linha de comando, faz com que as palavras de cada comando sejam impressas
após a substituição do histórico.

Não embutido comando execução
Quando um comando a ser executado não é um comando embutido, o shell tenta
execute o comando via execvo(2) Cada palavra na variável caminho nomeia um diretório de
qual o shell tentará executar o comando. Se não for fornecido nem um -c nem um -t
opção, o shell irá hash os nomes nestes diretórios em uma tabela interna para que
só vou tentar um exec em um diretório se houver a possibilidade de o comando residir
lá. Este atalho acelera muito a localização do comando quando muitos diretórios estão presentes em
o caminho de pesquisa. Se este mecanismo foi desligado (via unha), ou se a casca era
dado um -c or -t argumento e, em qualquer caso, para cada componente do diretório de caminho isso faz
não comece com '/', o shell se concatena com o nome de comando fornecido para formar um nome de caminho
de um arquivo que ele tenta executar.

Os comandos entre parênteses são sempre executados em uma sub-concha. Assim

(cd; senha); senha

imprime o Início diretório; deixando você onde estava (imprimindo isto depois da casa
diretório), enquanto

CD; pwd

deixa você no Início diretório. Os comandos entre parênteses são usados ​​com mais frequência para prevenir
chdir de afetar o shell atual.

Se o arquivo tiver permissões de execução, mas não for um binário executável para o sistema, ele
é considerado um arquivo contendo comandos de shell e um novo shell é gerado para lê-lo.

Se houver um alias para concha então as palavras do pseudônimo serão acrescentadas ao argumento
lista para formar o comando do shell. A primeira palavra do alias deve ser o nome do caminho completo de
o shell (por exemplo, “$ shell”). Observe que este é um caso especial de ocorrência tardia de aliás
substituição e só permite que palavras sejam acrescentadas à lista de argumentos sem alteração.

Signal manipulação
O shell normalmente ignora os sinais SIGQUIT. Trabalhos em execução separados (por & ou de bg or
% ... & comandos) são imunes aos sinais gerados pelo teclado, incluindo desligamentos.
Outros sinais têm os valores que o shell herdou de seu pai. A concha
tratamento de interrupções e sinais de término em scripts de shell pode ser controlado por onintr.
Os shells de login captam o sinal SIGTERM (término); caso contrário, este sinal é passado para
filhos do estado no pai do shell. Interrupções não são permitidas quando um login
shell está lendo o arquivo .sair.

LIMITAÇÕES


Comprimento das palavras - as palavras não podem ter mais de 1024 caracteres. O número de argumentos para um
comando que envolve a expansão do nome do arquivo é limitado a 1/6 do número de caracteres
permitido em uma lista de argumentos. As substituições de comandos não podem substituir mais caracteres do que
são permitidos em uma lista de argumentos. Para detectar o loop, o shell restringe o número de aliás
substituições em uma única linha para 20.

Use bsd-csh online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Alt-F
    Alt-F
    Alt-F fornece um código-fonte livre e aberto
    firmware alternativo para o DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F tem Samba e NFS;
    suporta ext2 / 3/4 ...
    Baixar Alt-F
  • 2
    usm
    usm
    Usm é um pacote de slackware unificado
    gerenciador que lida automaticamente
    resolução de dependência. Ele unifica
    vários repositórios de pacotes, incluindo
    slackware, folgado, p...
    baixar usm
  • 3
    Chart.js
    Chart.js
    Chart.js é uma biblioteca Javascript que
    permite que designers e desenvolvedores desenhem
    todos os tipos de gráficos usando o HTML5
    elemento de tela. Chart js oferece uma ótima
    variedade ...
    Baixar Chart.js
  • 4
    iReport-Designer para JasperReports
    iReport-Designer para JasperReports
    NOTA: Suporte ao iReport/Jaspersoft Studio
    Anúncio: A partir da versão 5.5.0,
    Jaspersoft Studio será o oficial
    cliente de design para JasperReports. Eu informo
    vai...
    Baixar iReport-Designer para JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF irá instalar todos os
    software que o Fedora Linux e outros
    não inclui por padrão, após
    executando o Fedora pela primeira vez. Seu
    fácil para ...
    Baixar PostInstallerF
  • 6
    traço
    traço
    O projeto strace foi movido para
    https://strace.io. strace is a
    diagnóstico, depuração e instrução
    rastreador de espaço do usuário para Linux. É usado
    para monitorar um...
    Baixar strace
  • Mais "

Comandos Linux

Ad