Este é o comando ksh93 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 do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
ksh, rksh, ksh93, rksh93 - KornShell, um comando padrão / restrito e programação
língua
SINOPSE
ksh [ ± abcefhikmnoprstuvxBCDP ] [ -R Arquivo ] [ ± o opção] ... [ - ] [arg ...]
rksh [ ± abcefhikmnoprstuvxBCD ] [ -R Arquivo ] [ ± o opção] ... [ - ] [arg ...]
DESCRIÇÃO
ksh é uma linguagem de comando e programação que executa comandos lidos de um terminal ou um
arquivo. Rksh é uma versão restrita do interpretador de comandos ksh; intérprete de comando
ksh; Vejo Invocação abaixo para o significado dos argumentos para o shell.
Definições
A metacaractere é um dos seguintes caracteres:
; & ( ) ⎪ < > nova linha espaço aba
A em branco é um aba ou um espaço. Um identificador é uma sequência de letras, dígitos ou
sublinhados começando com uma letra ou sublinhado. Identificadores são usados como componentes de
variável nomes. UMA vnome é uma sequência de um ou mais identificadores separados por um . e
opcionalmente precedido por um .. Vnames são usados como nomes de funções e variáveis. UMA palavra é um
sequência de caracteres do conjunto de caracteres definido pela localidade atual, excluindo
não citado metacaracteres.
A comando é uma sequência de caracteres na sintaxe da linguagem shell. A concha
lê cada comando e executa a ação desejada diretamente ou invocando
utilitários separados. Um comando embutido é um comando executado pelo shell
sem criar um processo separado. Alguns comandos são integrados exclusivamente para
conveniência e não estão documentados aqui. Integrados que causam efeitos colaterais no shell
ambiente e internos que são encontrados antes de realizar uma pesquisa de caminho (consulte Execução
abaixo) estão documentados aqui. Por razões históricas, alguns desses recursos integrados se comportam
diferentemente de outros integrados e são chamados especial embutidos.
Comandos.
A comando simples é uma lista de atribuições de variáveis (ver Variável Atribuições abaixo) ou um
sequência de em branco palavras separadas que podem ser precedidas por uma lista de atribuições de variáveis
(Vejo Meio Ambiente abaixo). A primeira palavra especifica o nome do comando a ser executado.
Exceto conforme especificado abaixo, as palavras restantes são passadas como argumentos para o
comando. O nome do comando é passado como argumento 0 (ver exec(2)). o valor de um simples
comando é seu status de saída; 0-255 se terminar normalmente; 256+assinar se terminar
anormalmente (o nome do sinal correspondente ao status de saída pode ser obtido via
da -l opção do matar utilitário embutido).
A oleoduto é uma sequência de um ou mais comandos separado por ⎪. A saída padrão de
cada comando, exceto o último, é conectado por um tubo(2) para a entrada padrão do próximo
comando. Cada comando, exceto possivelmente o último, é executado como um processo separado; A concha
aguarda o último comando terminar. O status de saída de um pipeline é o status de saída
do último comando, a menos que o falha na tubulação opção está habilitada. Cada pipeline pode ser precedido
pelo reservado palavra ! o que faz com que o status de saída do pipeline se torne 0 se o
o status de saída do último comando é diferente de zero e 1 se o status de saída do último comando
é 0.
A Lista é uma sequência de um ou mais pipelines separados por ;, &, ⎪ &, &&, ou ⎪⎪ e
opcionalmente encerrado por ;, &, ou ⎪ &. Destes cinco símbolos, ;, & e ⎪ & tem igual
precedência, que é inferior à de && e ⎪⎪. Os símbolos && e ⎪⎪ também tem igual
precedência. Um ponto e vírgula (;) causa a execução sequencial do pipeline anterior; um
e comercial (&) causa a execução assíncrona do pipeline anterior (ou seja, o shell
parece não espere que o pipeline termine). O símbolo ⎪ & causa execução assíncrona
do pipeline anterior com um tubo bidirecional estabelecido para o shell pai; a
entrada e saída padrão do pipeline gerado podem ser gravadas e lidas pelo
shell pai aplicando os operadores de redirecionamento <& e >& com arg p para comandos e por
utilização -p opção dos comandos embutidos ler e impressão descrito mais tarde. O símbolo &&
(⎪⎪) faz com que o Lista seguindo-o para ser executado apenas se o pipeline anterior retornar um
valor zero (diferente de zero). Uma ou mais novas linhas podem aparecer em um Lista em vez de um ponto e vírgula,
para delimitar um comando. O primeiro item do primeiro oleoduto de uma Lista isso é um simples
comando que não começa com um redirecionamento e não ocorre dentro de um enquanto, até, ou if
Lista, pode ser precedido por um ponto e vírgula. Este ponto e vírgula é ignorado, a menos que o mostre-me opção
está habilitado conforme descrito com o conjunto embutido abaixo.
A comando é um comando simples ou um dos seguintes. Salvo indicação em contrário,
o valor retornado por um comando é o do último comando simples executado no
comando.
for vnome [ in palavra ...] ;Faz Lista ;feito
Cada vez que um for o comando é executado, vnome está definido para o próximo palavra tirado do
in palavra Lista. Se in palavra ... é omitido, então o for comando executa o do
Lista uma vez para cada parâmetro posicional definido a partir de 1 (Vejo Parâmetro
Expansão abaixo). A execução termina quando não houver mais palavras na lista.
for (( [expr1] ; [expr2] ; [expr3] )) ;Faz Lista ;feito
A expressão aritmética expr1 é avaliado primeiro (ver Aritmética avaliação
abaixo). A expressão aritmética expr2 é avaliado repetidamente até que avalie
para zero e quando diferente de zero, Lista é executado e a expressão aritmética expr3
avaliado. Se alguma expressão for omitida, ela se comportará como se fosse avaliada como 1.
selecionar vnome [ in palavra ...] ;Faz Lista ;feito
A selecionar comando imprime no erro padrão (descritor de arquivo 2) o conjunto de palavras,
cada um precedido por um número. Se in palavra ... é omitido, então o posicional
parâmetros a partir de 1 são usados em seu lugar (veja Parâmetro Expansão abaixo). o
PS3 o prompt é impresso e uma linha é lida da entrada padrão. Se esta linha
consiste no número de um dos listados palavras, então o valor da variável
vnome está definido para o palavra correspondendo a este número. Se esta linha estiver vazia, o
a lista de seleção é impressa novamente. Caso contrário, o valor da variável vnome é definida
para nulo. O conteúdo da linha lida da entrada padrão é salvo no
variável RESPOSTA. O Lista é executado para cada seleção até um quebrar or fim do-
lima é encontrado. Se o RESPOSTA variável está definida para nulo pela execução de
Lista, então a lista de seleção é impressa antes de exibir o PS3 solicitar o
próxima seleção.
casas palavra in [[(]de cinto de segurança [⎪ de cinto de segurança ] ... ) Lista ;; ] ... esac
A casas comando executa o Lista associado com o primeiro de cinto de segurança que corresponde
palavra. A forma dos padrões é a mesma usada para geração de nome de arquivo
(Vejo Envie o Nome Generation abaixo). o ;; operador causa a execução de casas para
terminar. Se ;& é usado no lugar de ;; a próxima lista subsequente, se houver, é
executado.
if Lista ;então Lista [ ; elif Lista ;então Lista ] ... [ ;outro Lista ] ; fi
O Lista seguinte if é executado e, se retornar um status de saída zero, o Lista
seguindo o primeiro então É executado. Caso contrário, o Lista seguinte elif is
executado e, se seu valor for zero, o Lista seguindo o próximo então É executado.
Fracassando em cada sucessivo elif Lista, outro Lista É executado. Se o if Lista tem
status de saída diferente de zero e não há outro Lista, Em seguida, o if o comando retorna um zero
status de saída.
enquanto Lista ;Faz Lista ;feito
até Lista ;Faz Lista ;feito
A enquanto comando executa repetidamente o enquanto Lista e, se o status de saída do
o último comando da lista é zero, executa o do Lista; caso contrário, o laço
termina. Se nenhum comando no do Lista são executados, então o enquanto comando
retorna um status de saída zero; até pode ser usado no lugar de enquanto para negar o loop
teste de terminação.
((expressão))
O expressão é avaliado usando as regras para avaliação aritmética descritas
abaixo. Se o valor da expressão aritmética for diferente de zero, o status de saída é
0, caso contrário, o status de saída é 1.
(Lista)
Execute Lista em um ambiente separado. Observe que, se dois adjacentes abrirem
parênteses são necessários para aninhamento, um espaço deve ser inserido para evitar avaliação como
um comando aritmético conforme descrito acima.
{ Lista;}
Lista é simplesmente executado. Observe que, ao contrário dos metacaracteres ( e ), { e } e guarante que os mesmos estão
reservado palavrase deve ocorrer no início de uma linha ou após um ; a fim de
ser reconhecido.
[[ expressão ]]
Avalia expressão e retorna um status de saída zero quando expressão é verdade. Ver
Condicional Expressões abaixo, para uma descrição de expressão.
função nome da var { Lista ;}
nome da var () { Lista ;}
Defina uma função que é referenciada por nome da var. Uma função cuja nome da var
contém um . é chamada de função disciplinar e a parte do nome da var
precedendo o último . deve referir-se a uma variável existente. O corpo da função
é o Lista de comandos entre { e }. Uma função definida com o função
nome da var sintaxe também pode ser usada como um argumento para o . comando embutido especial
para obter o comportamento equivalente como se o nome da var() sintaxe foi usada para defini-lo.
(Veja Funções abaixo.)
namespace identificador { Lista ;}
Define ou usa o espaço de nomes identificador e executa os comandos em Lista neste
espaço de nome. (Ver Nome Espaços abaixo.)
& [ nome [ arg ... ]]
Causas subsequentes Lista comandos terminados por & para ser colocado em segundo plano
piscina nome. Se nome é omitido, um pool padrão sem nome é usado. Comandos em um nome
pool de fundo pode ser executado remotamente.
tempo [ oleoduto ]
If oleoduto é omitido o usuário e a hora do sistema para o shell atual e concluído
os processos filhos são impressos no erro padrão. De outra forma, oleoduto é executado e
o tempo decorrido, bem como o tempo do usuário e do sistema são impressos no erro padrão.
O FORMATO DE HORA variável pode ser definida como uma string de formato que especifica como o tempo
as informações devem ser exibidas. Ver concha Variáveis abaixo para uma descrição de
da FORMATO DE HORA variável.
As seguintes palavras reservadas são reconhecidas como reservadas apenas quando são a primeira palavra
de um comando e não são citados:
if então outro elif fi casas esac for enquanto até do feito { } função selecionar tempo [[ ]] !
Variável Atribuições.
Uma ou mais atribuições de variáveis podem iniciar um comando simples ou podem ser argumentos para o
formatado, enumerar, exportar, ou somente leitura comandos embutidos especiais, bem como para outros
comandos de declaração criados como tipos. A sintaxe para um atribuição é da forma:
nome da var=palavra
nome da var[palavra]=palavra
Nenhum espaço é permitido entre nome da var e = ou entre = e palavra.
nome da var=(lista_de_atribuições)
Nenhum espaço é permitido entre nome da var e =. A variável nome da var não está definido
antes da atribuição. Um lista_de_atribuições pode ser um dos seguintes:
palavra ...
Atribuição de matriz indexada.
[palavra]=palavra ...
Atribuição de matriz associativa. Se precedido por formatado -a Isso vai
em vez disso, crie uma matriz indexada.
atribuição ...
Atribuição de variável composta. Isso cria uma variável composta
nome da var com subvariáveis do formulário nome da var.nome, Onde nome is
a parte do nome de atribuição. O valor de nome da var conterá
todos os elementos de atribuição. Atribuições adicionais feitas a sub-
variáveis de nome da var também será exibido como parte do valor de
nome da var. Se não atribuiçãos são especificados, nome da var será
variável composta permitindo que elementos filhos subsequentes sejam definidos.
formatado [opções] atribuição ...
Atribuição de variável aninhada. Múltiplas atribuições podem ser especificadas
separando cada um deles com um ;. O valor anterior não está definido
antes da atribuição. Outros comandos de declaração, como somente leitura,
enumerar, e outros comandos de declaração podem ser usados no lugar de
formatado.
. nome do arquivo
Inclui os comandos de atribuição contidos em nome do arquivo.
Além disso, um += pode ser usado no lugar do = para significar adicionar ou anexar ao
valor anterior. Quando += é aplicado a um tipo aritmético, palavra é avaliado como um
expressão aritmética e adicionado ao valor atual. Quando aplicado a uma variável de string,
o valor definido por palavra é anexado ao valor. Para atribuições compostas, o
o valor anterior não é desfeito e os novos valores são acrescentados aos atuais fornecidos
que os tipos são compatíveis.
O lado direito de uma atribuição de variável sofre toda a expansão listada abaixo
exceto divisão de palavra, expansão de chave e geração de nome de arquivo. Quando o lado esquerdo
é uma atribuição é uma variável composta e a mão direita é o nome de um composto
variável, a variável composta à direita será copiada ou anexada à variável composta
variável à esquerda.
Comentários.
Uma palavra que começa com # faz com que essa palavra e todos os caracteres seguintes formem uma nova linha
para ser ignorado.
Alias.
A primeira palavra de cada comando é substituída pelo texto de um aliás se um aliás para esta
palavra foi definida. Um aliás o nome consiste em qualquer número de caracteres, excluindo
metacaracteres, citando caracteres, caracteres de expansão de arquivo, expansão de parâmetro e
caracteres de substituição de comando, os personagens / e =. A string de substituição pode
conter qualquer script de shell válido, incluindo os metacaracteres listados acima. A primeira palavra
de cada comando no texto substituído, exceto qualquer um que esteja em processo de
substituído, será testado para aliases. Se o último caractere do valor do alias for um em branco
então, a palavra após o alias também será verificada para substituição de alias. Apelido
pode ser usado para redefinir os comandos embutidos, mas não pode ser usado para redefinir o reservado
palavras listadas acima. Aliases podem ser criados e listados com o aliás comando e pode ser
removido com o Unalias comando.
Aliasing é executado quando os scripts são lidos, não enquanto são executados. Portanto, para
um alias para entrar em vigor, o aliás o comando de definição deve ser executado antes do
o comando que faz referência ao alias é lido.
Os seguintes aliases são compilados no shell, mas podem ser cancelados ou redefinidos:
autoload = ′ typeset -fu ′
comando = ′ comando '
composto = ′ composição -C ′
fc = hist
float = ′ typeset -lE ′
funções = ′ composição -f ′
hash = ′ alias -t - ′
história = ′ hist -eu'
inteiro = ′ conjunto -li ′
nameref = ′ typeset -n ′
nohup = ′ nohup '
r = ′ hist -s ′
redirecionar = ′ comando exec ′
fonte = ′ comando . ′
parar = ′ matar -s PARE'
suspender = ′ matar -s STOP $$ ′
vezes = ′ { { Tempo;} 2> & 1;} ′
tipo = ′ de onde -v ′
Til Substituição.
Depois que a substituição de alias é realizada, cada palavra é verificada para ver se começa com um
não citado ~. Para substituição de til, palavra também se refere ao palavra parte do parâmetro
expansão (ver Parâmetro Expansão abaixo). Se assim for, então a palavra até um / está checado
para ver se ele corresponde a um nome de usuário no banco de dados de senhas (Veja obterpwname(3).) Se for compatível
é encontrado, o ~ e o nome de login correspondente são substituídos pelo diretório de login do
usuário correspondente. Se nenhuma correspondência for encontrada, o texto original não será alterado. UMA ~ por si próprio,
ou na frente de um /, é substituído por $ HOME. UMA ~ seguido por um + or - é substituído pelo
valor de $ PWD e $ OLDPWD respectivamente.
Além disso, ao expandir um variável atribuição, til substituição é tentada quando
o valor da atribuição começa com um ~, e quando um ~ aparece depois de um :. O : tb
termina um ~ Nome de acesso.
Command Substituição.
A saída padrão de uma lista de comandos entre parênteses precedida por um cifrão
( $(Lista) ), ou em um grupo de chaves precedido por um cifrão ( ${ Lista;} ), ou em um par de
acentos graves (``) pode ser usado como parte ou toda uma palavra; as novas linhas finais são removidas.
No segundo caso, o { e } são tratados como palavras reservadas para que { deve ser seguida
por uma em branco e } deve aparecer no início da linha ou seguir um ;. No terceiro
forma (obsoleta), a string entre as aspas é processada para caracteres especiais de aspas
antes de o comando ser executado (ver Citando abaixo). A substituição do comando $ (gato Arquivo)
pode ser substituído pelo equivalente, mas mais rápido $ (. A substituição do comando $(n<#)
irá expandir para o deslocamento de byte atual para o descritor de arquivo n. Exceto para a segunda forma,
a lista de comandos é executada em um subshell para que nenhum efeito colateral seja possível. Para o
segunda forma, a final } será reconhecido como uma palavra reservada após qualquer token.
Aritmética Substituição.
Uma expressão aritmética entre parênteses duplos precedida por um cifrão ( $ (())
) é substituído pelo valor da expressão aritmética entre parênteses duplos.
Extração Substituição.
Cada argumento de comando do formulário <(Lista) or >(Lista) irá executar o processo Lista assincronamente
conectado a algum arquivo em / dev / fd se este diretório existe, ou então um fifo um temporário
diretório. O nome deste arquivo se tornará o argumento do comando. Se o formulário
com > é selecionado, em seguida, escrever neste arquivo fornecerá entrada para Lista. Se < é usado,
então o arquivo passado como um argumento conterá a saída do Lista processo. Para
exemplo,
colar <(corte -f1 file1) <(corte -f3 file2) | tee >(processo 1) >(processo 2)
cortes campos 1 e 3 dos arquivos file1 e file2 respectivamente, pastas os resultados
juntos, e envia para os processos processo 1 e processo 2, bem como colocá-lo em
a saída padrão. Observe que o arquivo, que é passado como um argumento para o comando,
é um UNIX tubo(2) para programas que esperam procurar(2) no arquivo não funcionará.
Substituição de processo do formulário <(Lista) também pode ser usado com o < operador de redirecionamento
que causa a saída de Lista para ser a entrada padrão ou a entrada para qualquer arquivo
o descritor é especificado.
Parâmetro Expansão.
A parâmetro é um variável, um ou mais dígitos, ou qualquer um dos caracteres *, @, #, ?, -, $,
e !. UMA variável é denotado por um vnome. Para criar uma variável cujo vnome contém um .,
uma variável cujo vnome consiste em tudo antes do último . já deve existir. UMA
variável tem um valor e zero ou mais atributos. Variáveis pode ser atribuído valores e
atributos usando o formatado comando embutido especial. Os atributos suportados pelo
shell são descritos mais tarde com o formatado comando embutido especial. Variáveis exportadas
passar valores e atributos para o meio ambiente.
O shell oferece suporte a matrizes indexadas e associativas. Um elemento de uma variável de matriz
é referenciado por um subscrito. UMA subscrito para uma matriz indexada é denotada por um
aritmética expressão (Vejo Aritmética avaliação abaixo) entre um [ e uma ]. Atribuir
valores para uma matriz indexada, use vnome=(valor ...) or conjunto -A vnome valor ... O valor que
de todos os subscritos não negativos deve estar no intervalo de 0 a 4,194,303. Um negativo
o subscrito é tratado como um deslocamento do índice máximo atual +1, de modo que -1 se refere a
o último elemento. Matrizes indexadas podem ser declaradas com o -a opção para formatado. Indexado
matrizes não precisam ser declaradas. Qualquer referência a uma variável com um subscrito válido é legal
e uma matriz será criada, se necessário.
Uma matriz associativa é criada com o -A opção para formatado. A subscrito para um
array associativo é denotado por uma string entre [ e ].
Referenciar qualquer array sem um subscrito é equivalente a referenciar o array com
subscrito 0.
O valor de uma variável pode ser atribuído por escrito:
vnome=valor [ vnome=valor ] ...
or
vnome[subscrito]=valor [ vnome[subscrito]=valor ] ...
Observe que nenhum espaço é permitido antes ou depois do =.
Atributos atribuídos pelo formatado comando embutido especial se aplica a todos os elementos do
variedade. Um elemento de matriz pode ser uma variável simples, uma variável composta ou uma matriz
variável. Um elemento de uma matriz indexada pode ser uma matriz indexada ou um associativo
variedade. Um elemento de uma matriz associativa também pode ser qualquer um. Para se referir a uma matriz
elemento que faz parte de um elemento de matriz, concatene o subscrito entre colchetes. Para
exemplo, para se referir ao foobar elemento de uma matriz associativa que é definida como o
terceiro elemento da matriz indexada, use ${vnome[3][foobar]}
A nomeref é uma variável que é uma referência a outra variável. Um nameref é criado
com o -n atributo de formatado. O valor da variável no momento do formatado
comando torna-se a variável que será referenciada sempre que a variável nameref for
usado. O nome de um nameref não pode conter um .. Quando uma variável ou nome de função
contém um ., e a parte do nome até o primeiro . corresponde ao nome de um nameref,
a variável referida é obtida substituindo a parte nameref pelo nome do
variável referenciada pelo nameref. Se um nameref for usado como o índice de um for loop, um
a referência do nome é estabelecida para cada item da lista. Um nameref fornece um conveniente
maneira de se referir à variável dentro de uma função cujo nome é passado como um argumento para um
função. Por exemplo, se o nome de uma variável é passado como o primeiro argumento para um
função, o comando
formatado -n var = $ 1
dentro da função faz com que referências e atribuições para var ser referências e
atribuições à variável cujo nome foi passado para a função.
Se algum dos atributos de ponto flutuante, -E, -F, ou -X, ou o atributo inteiro, -i, É
definido para vnome, Em seguida, o valor está sujeito a avaliação aritmética conforme descrito abaixo.
Parâmetros posicionais, parâmetros denotados por um número, podem ser atribuídos a valores com o conjunto
comando embutido especial. Parâmetro $0 é definido a partir do argumento zero quando o shell é
invocado.
O personagem $ é usado para introduzir substituíveis parâmetros.
${parâmetro}
O shell lê todos os caracteres de ${ para a correspondência } como parte do mesmo
palavra, mesmo que contenha colchetes ou metacaracteres. O valor, se houver, do
parâmetro é substituído. As chaves são necessárias quando parâmetro é seguido por um
letra, dígito ou sublinhado que não deve ser interpretado como parte de seu nome,
quando o nome da variável contém um .. As chaves também são necessárias quando uma variável
é subscrito, a menos que seja parte de uma expressão aritmética ou condicional
Expressão. Se parâmetro é um ou mais dígitos, então é um parâmetro posicional.
Um parâmetro posicional de mais de um dígito deve ser colocado entre colchetes. Se
parâmetro is * or @, então todos os parâmetros posicionais, começando com $1, É
substituído (separado por um caractere separador de campo). Se uma matriz vnome com
último subscrito * @, ou para matrizes de índice do formulário sub1 .. sub2. é usado, então
o valor de cada um dos elementos entre sub1 e sub2 inclusivo (ou todos os elementos
for * e @) é substituído, separado pelo primeiro caractere do valor de IFS.
$ {#parâmetro}
If parâmetro is * or @, o número de parâmetros posicionais é substituído.
Caso contrário, o comprimento do valor do parâmetro é substituído.
$ {#vnome[*]}
$ {#vnome[@]}
O número de elementos na matriz vnome é substituído.
$ {@vnome}
Expande-se para o nome do tipo (Veja Formato Variáveis abaixo) ou atributos da variável
referido por vnome.
$ {!vnome}
Expande-se para o nome da variável referida por vnome. Isto será vnome
exceto quando vnome é uma referência de nome.
$ {!vnome[subscrito]}
Expande-se para o nome do subscrito, a menos que subscrito is *, @. ou da forma sub1 ..
sub2. Quando subscrito is *, a lista de subscritos de array para vnome é gerado.
Para uma variável que não é uma matriz, o valor é 0 se a variável for definida.
Caso contrário, é nulo. Quando subscrito is @, o mesmo que acima, exceto quando usado em
aspas duplas, cada subscrito do array produz um argumento separado. Quando subscrito is
do formulário sub1 .. sub2 ele se expande para a lista de subscritos entre sub1 e
sub2 inclusive usando as mesmas regras de cotação que @.
$ {!prefixo*}
Expande-se para os nomes das variáveis cujos nomes começam com prefixo.
${parâmetro:-palavra}
If parâmetro é definido e não é nulo, então substitua seu valor; caso contrário, substitua
palavra.
${parâmetro:=palavra}
If parâmetro não está definido ou é nulo, defina-o para palavra; O valor do parâmetro
é então substituído. Os parâmetros posicionais não podem ser atribuídos desta forma.
${parâmetro:?palavra}
If parâmetro é definido e não é nulo, então substitua seu valor; caso contrário, imprimir
palavra e saia do shell (se não for interativo). Se palavra é omitido então um
a mensagem padrão é impressa.
${parâmetro:+palavra}
If parâmetro é definido e não é nulo, em seguida, substitua palavra; caso contrário, substitua
nenhuma coisa.
Acima, palavra não é avaliado, a menos que seja para ser usado como a string substituída, então
que, no exemplo a seguir, pwd é executado apenas se d não está definido ou é nulo:
imprimir $ {d: - $ (pwd)}
Se os dois pontos ( : ) é omitido nas expressões acima, então o shell apenas verifica
se parâmetro está definido ou não.
${parâmetro:compensar:comprimento}
${parâmetro:compensar}
Expande-se para a parte do valor de parâmetro começando no personagem
(contando de 0) determinado pela expansão compensar como uma expressão aritmética e
consistindo no número de caracteres determinados pela expressão aritmética
definido por comprimento. Na segunda forma, o restante do valor é usado. Se um
negativo compensar conta regressivamente a partir do final de parâmetro. Observe que um ou mais
em brancos é necessário na frente de um sinal de menos para evitar que o shell interprete
a operadora como :-. Se parâmetro is * or @, ou é um nome de array indexado por * or @,
então compensar e comprimento referem-se ao índice da matriz e ao número de elementos
respectivamente. Um negativo compensar é tomado em relação a um maior que o mais alto
subscrito para matrizes indexadas. A ordem para matrizes associadas não é especificada.
${parâmetro#de cinto de segurança}
${parâmetro##de cinto de segurança}
Se a concha de cinto de segurança corresponde ao início do valor de parâmetro, Em seguida, o
valor desta expansão é o valor do parâmetro com a porção combinada
excluído; caso contrário, o valor deste parâmetro é substituído. Na primeira forma
o menor padrão correspondente é excluído e na segunda forma o maior
padrão correspondente é excluído. Quando parâmetro is @, *, ou uma variável de matriz com
subscrito @ or *, a operação de substring é aplicada a cada elemento por vez.
${parâmetro%de cinto de segurança}
${parâmetro%%de cinto de segurança}
Se a concha de cinto de segurança corresponde ao final do valor de parâmetro, então o valor de
esta expansão é o valor do parâmetro com a parte correspondente excluída;
caso contrário, substitua o valor de parâmetro. Na primeira forma, o menor
padrão de correspondência é excluído e na segunda forma, o maior padrão de correspondência é
excluído. Quando parâmetro is @, *, ou uma variável de matriz com subscrito @ or *,
a operação de substring é aplicada a cada elemento por vez.
${parâmetro/de cinto de segurança/corda}
${parâmetro//de cinto de segurança/corda}
${parâmetro/#de cinto de segurança/corda}
${parâmetro/%de cinto de segurança/corda}
Expande parâmetro e substitui a combinação mais longa de de cinto de segurança com o dado string.
Cada ocorrência de \n in corda é substituído pela porção de parâmetro que.
corresponde ao n-ésimo subpadrão. Na primeira forma, apenas a primeira ocorrência de
de cinto de segurança É substituído. Na segunda forma, cada correspondência para de cinto de segurança é substituído pelo
dado string. A terceira forma restringe a correspondência de padrão ao início do
string, enquanto a quarta forma restringe a correspondência de padrão ao final da string.
Quando corda é nulo, o de cinto de segurança será excluído e o / em frente de corda pode
ser omitido. Quando parâmetro is @, *, ou uma variável de matriz com subscrito @ or *,
a operação de substituição é aplicada a cada elemento por vez. Neste caso, o
corda porção de palavra serão reavaliados para cada elemento.
Os seguintes parâmetros são definidos automaticamente pelo shell:
# O número de parâmetros posicionais em decimal.
- Opções fornecidas ao shell na invocação ou pelo conjunto comando.
? O valor decimal retornado pelo último comando executado.
$ O número do processo deste shell.
_ Inicialmente, o valor de _ é um caminho absoluto do shell ou script
sendo executado conforme aprovado no meio Ambiente. Posteriormente, é atribuído
o último argumento do comando anterior. Este parâmetro não está definido para
comandos que são assíncronos. Este parâmetro também é usado para manter o
nome do correspondente MAIL arquivo ao verificar o e-mail. Ao definir um
variável composta ou um tipo, _ é inicializado como uma referência ao composto
variável ou tipo. Quando uma função de disciplina é invocada, _ é inicializado
como uma referência à variável associada à chamada para esta função.
Finalmente quando _ é usado como o nome da primeira variável de um tipo
definição, o novo tipo é derivado do tipo da primeira variável (Ver
Formato Variáveis abaixo.).
! A identificação do processo ou o nome do pool e o número do trabalho do último plano de fundo
comando invocado ou o trabalho mais recente colocado em segundo plano com o bg
comando embutido. Os trabalhos em segundo plano iniciados em um pool nomeado estarão no
formulário piscina.número onde piscina é o nome da piscina e número é o número do trabalho
dentro dessa piscina.
.sh.comando
Ao processar um DEBUG trap, esta variável contém o comando atual
linha que está prestes a ser executada.
.sh.edchar
Esta variável contém o valor do caractere do teclado (ou sequência de
caracteres se o primeiro caractere for um ESC, ascii 033) que foi
inserido ao processar um TECLADO armadilha (ver Chave Ligações abaixo). Se o valor
é alterado como parte da ação trap, o novo valor substitui a chave
(ou sequência de teclas) que causou a armadilha.
.sh.edcol
A posição do caractere do cursor no momento do mais recente TECLADO
armadilha.
.sh.edmode
O valor é definido como ESC ao processar um TECLADO armadilha enquanto em vi inserir
modo. (Ver Vi Edição Moda abaixo.) Caso contrário, .sh.edmode é nulo quando
processando um TECLADO armadilha.
.sh.edtexto
Os caracteres no buffer de entrada no momento do mais recente TECLADO
armadilha. O valor é nulo quando não está processando um TECLADO armadilha.
.sh.arquivo
O nome do caminho do arquivo que contém o comando atual.
.sh.fun
O nome da função atual que está sendo executada.
.sh.nível
Defina a profundidade da função atual. Isso pode ser alterado dentro de uma armadilha DEBUG
e definirá o contexto para o nível especificado.
.sh.lineno
Definido durante um trap DEBUG para o número da linha do chamador de cada função.
.sh.match
Uma matriz indexada que armazena as correspondências mais recentes e de subpadrão
depois que o padrão condicional corresponder a essa correspondência e depois das expansões das variáveis
usando os operadores #, %, ou /. O 0-º elemento armazena a correspondência completa
e i-º. elemento armazena o i-th submatch. o .sh.match variável
torna-se não definido quando a variável que foi expandida é atribuída a um novo valor.
.sh.matemática
Usado para definir funções aritméticas (ver Aritmética avaliação abaixo).
e armazena a lista de funções aritméticas definidas pelo usuário.
.sh.nome
Defina com o nome da variável no momento em que uma função de disciplina é
invocado.
.sh.subscrito
Defina como o subscrito do nome da variável no momento em que uma disciplina
função é invocada.
.sh.subshell
A profundidade atual para subshells e substituição de comando.
.sh.valor
Defina o valor da variável no momento em que o conjunto or anexar
função de disciplina é invocada. Quando uma função aritmética definida pelo usuário é
invocado, o valor de .sh.valor é salvo e .sh.valor está definido para longo dobro
ponto flutuante de precisão. .sh.valor é restaurado quando a função retorna.
.sh.versão
Defina como um valor que identifica a versão deste shell.
KSH_VERSION
Uma referência de nome para .sh.versão.
LINHO O número da linha atual dentro do script ou função que está sendo executada.
OLDPWD O diretório de trabalho anterior definido pelo cd comando.
OPTARG O valor do último argumento da opção processado pelo obter opções construídas em
comando.
OPTINDO O índice do último argumento de opção processado pelo obter opções construídas em
comando.
PPID O número do processo do pai do shell.
PWD O presente diretório de trabalho definido pelo cd comando.
RANDOM Cada vez que esta variável é referenciada, um inteiro aleatório, uniformemente
distribuído entre 0 e 32767, é gerado. A sequência de aleatório
os números podem ser inicializados atribuindo um valor numérico a RANDOM.
RESPOSTA Esta variável é definida pelo selecionar declaração e pelo ler construídas em
comando quando nenhum argumento é fornecido.
SEGUNDOS
Cada vez que esta variável é referenciada, o número de segundos desde o shell
invocação é retornada. Se esta variável for atribuída a um valor, então o
valor retornado na referência será o valor que foi atribuído mais o
número de segundos desde a atribuição.
SHLVL Uma variável inteira é incrementada cada vez que o shell é invocado e é
exportado. Se SHLVL não está no ambiente quando o shell é invocado, ele
está definido para 1.
As seguintes variáveis são usadas pelo shell:
CDPATH O caminho de busca para o cd comando.
COLUNAS
Se esta variável for definida, o valor é usado para definir a largura da edição
janela para os modos de edição do shell e para impressão selecionar listas.
EDITOR Se o VISUAL variável não está definida, o valor desta variável será
verificado para os padrões conforme descrito com VISUAL abaixo e o
opção de edição correspondente (ver Comando Especial conjunto abaixo) será girado
em.
ENV Se esta variável for definida, então expansão de parâmetro, substituição de comando e
substituições aritméticas são realizadas no valor para gerar o nome do caminho
do script que será executado quando o shell for invocado interativamente
(Vejo Invocação abaixo). Este arquivo é normalmente usado para aliás e função
definições. o valor padrão é $ HOME / .kshrc. Em sistemas que suportam um
todo o sistema /etc/ksh.kshrc arquivo de inicialização, se o nome do arquivo gerado
pela expansão de ENV começa com /./ or ././ todo o sistema
o arquivo de inicialização não será executado.
EDITAR Nome obsoleto para o nome do editor padrão para o hist comando. EDITAR is
não usado quando HISTÓRICO é definido.
FIGNORA
Um padrão que define o conjunto de nomes de arquivos que serão ignorados quando
realizando correspondência de nome de arquivo.
FPATH O caminho de pesquisa para definições de função. Os diretórios neste caminho são
procurou um arquivo com o mesmo nome da função ou comando quando um
funcionar com o -u atributo é referenciado e quando um comando não é
encontrado. Se um arquivo executável com o nome desse comando for encontrado, então
ele é lido e executado no ambiente atual. diferente PATH,
diretório atual deve ser representado explicitamente por . ao invés de por
adjacente : caracteres ou um começo ou fim :.
HISTCMD
Número do comando atual no arquivo de histórico.
HISTÓRICO
Nome do editor padrão para o hist comando.
ARQUIVO HISTÓRICO
Se esta variável for definida quando o shell for chamado, o valor será o
nome do caminho do arquivo que será usado para armazenar o histórico de comandos (veja
Command Reentrada abaixo).
HISTORIAR
Se esta variável for definida quando o shell for invocado, então o número de
comandos inseridos anteriormente que são acessíveis por este shell serão
maior ou igual a este número. O padrão é 512.
INICIO O argumento padrão (diretório inicial) para o cd comando.
IFS Separadores de campo interno, normalmente espaço, aba e nova linha que são usados
para separar os resultados da substituição de comando ou expansão de parâmetro e
separar campos com o comando embutido ler. O primeiro personagem de
da IFS variável é usada para separar argumentos para o "$ ∗" substituição
(Vejo Citando abaixo). Cada ocorrência de um IFS personagem do
string a ser dividida, que não está no é espaço classe de personagem, e qualquer
personagens adjacentes em IFS que estão no é espaço classe de caractere, delimitar
um campo. Um ou mais personagens em IFS que pertencem ao é espaço personagem
classe, delimite um campo. Além disso, se o mesmo é espaço personagem aparece
consecutivamente dentro IFS, este personagem é tratado como se não estivesse no
é espaço classe, para que se IFS consiste em dois aba personagens, depois dois
adjacente aba os caracteres delimitam um campo nulo.
JOBMAX Esta variável define o número máximo de trabalhos em execução em segundo plano que podem
correr de cada vez. Quando este limite é alcançado, o shell irá esperar por um trabalho para
conclua antes de começar um novo trabalho.
GRANDE Esta variável determina a categoria de local para qualquer categoria que não seja
especificamente selecionado com uma variável começando com LC_ or GRANDE.
LC_ALL Esta variável substitui o valor do GRANDE variável e qualquer outra LC_
variável.
LC_COLLATE
Esta variável determina a categoria de local para agrupamento de caracteres
informações.
LC_CTYPE
Esta variável determina a categoria de local para tratamento de caracteres
funções. Ele determina as classes de caracteres para correspondência de padrões (ver
Envie o Nome Generation abaixo).
LC_NUMERIC
Esta variável determina a categoria de local para o ponto decimal
personagem.
LINHAS Se esta variável for definida, o valor é usado para determinar o comprimento da coluna
para impressão selecionar listas. As listas selecionadas serão impressas verticalmente até cerca de
dois terços de LINHAS as linhas são preenchidas.
MAIL Se esta variável for configurada com o nome de um arquivo de e-mail e da CORREIO variável
não está definido, o shell informa o usuário da chegada de e-mail no
arquivo especificado.
VERIFICAÇÃO DE CORREIO
Esta variável especifica com que freqüência (em segundos) o shell irá verificar
mudanças na hora de modificação de qualquer um dos arquivos especificados pelo
CORREIO or MAIL variáveis. O valor padrão é 600 segundos. Quando o
o tempo passou, o shell verificará antes de emitir o próximo prompt.
CORREIO
Dois pontos ( : ) lista separada de nomes de arquivo. Se esta variável for definida, então
o shell informa ao usuário sobre quaisquer modificações nos arquivos especificados que
ocorreram no último VERIFICAÇÃO DE CORREIO segundos. Cada nome de arquivo pode ser
seguido por um ? e uma mensagem que será impressa. A mensagem vai
passam por expansão de parâmetro, substituição de comando e aritmética
substituição com a variável $_ definido como o nome do arquivo que tem
mudado. A mensagem padrão é Você enviar in $ _.
PATH O caminho de pesquisa para os comandos (ver Execução abaixo). O usuário não pode mudar
PATH se executando sob rksh (exceto em .perfil).
PS1 O valor desta variável é expandido para expansão de parâmetro, comando
substituição e substituição aritmética para definir o prompt principal
string que por padrão é ``$''. O personagem ! no prompt primário
string é substituída pelo comando número (ver Command Reentrada abaixo). Dois
sucessivas ocorrências de ! vai produzir um único ! quando a string de prompt
é impresso.
PS2 String de prompt secundária, por padrão ``> ''.
PS3 Sequência de solicitação de seleção usada em um selecionar loop, por padrão ``#? ''.
PS4 O valor desta variável é expandido para avaliação de parâmetro, comando
substituição e substituição aritmética e precede cada linha de um
rastreamento de execução. Por padrão, PS4 é ``+ ''. Além disso, quando PS4 não está definido,
o prompt de rastreamento de execução também é ``+ ''.
SHELL O nome do caminho do concha é mantido no ambiente. Na invocação, se o
o nome de base desta variável é rsh, rksh, ou krsh, então a casca se torna
restrito.
FORMATO DE HORA
O valor deste parâmetro é usado como uma string de formato especificando como o
informações de tempo para pipelines prefixados com o tempo palavra reservada deveria
Ser exibido. o % caractere apresenta uma sequência de formato que é expandida
a um valor de tempo ou outra informação. As sequências de formato e seus
os significados são os seguintes.
%% Um literal %.
%[p] [l] R O tempo decorrido em segundos.
%[p][Lu O número de segundos de CPU gastos no modo de usuário.
%[p] [l] S O número de segundos de CPU gastos no modo do sistema.
%P A porcentagem de CPU, calculada como (U + S) / R.
Os colchetes denotam partes opcionais. O opcional p é um dígito especificando
da precisão, o número de dígitos fracionários após uma vírgula decimal. UMA
o valor 0 faz com que nenhum ponto decimal ou fração seja gerado. No máximo três
casas após a vírgula decimal podem ser exibidas; valores de p maior que 3
são tratados como 3. Se p não for especificado, o valor 3 será usado.
O opcional l especifica um formato mais longo, incluindo horas se for maior que
zero, minutos e segundos do formulário HHhMMmSS.FFs. O valor de p
determina se a fração é incluída ou não.
Todos os outros caracteres são produzidos sem alteração e uma nova linha final é
adicionado. Se não estiver definido, o valor padrão, $ '\ nreal \ t% 2lR \ nuser \ t% 2lU \ nsys% 2lS',
é usado. Se o valor for nulo, nenhuma informação de tempo será exibida.
TMOUT Se definido para um valor maior que zero, TMOUT será o valor de tempo limite padrão
para o ler comando embutido. o selecionar comando composto termina após
TMOUT segundos quando a entrada é de um terminal. Caso contrário, o shell irá
terminar se uma linha não for inserida dentro do número prescrito de segundos
durante a leitura de um terminal. (Observe que o shell pode ser compilado com um
limite máximo para este valor que não pode ser excedido.)
VISUAL Se o valor desta variável corresponder ao padrão * [Vv] [Ii] *, Em seguida, o vi
opção (ver Comando Especial conjunto abaixo) está ativado. Se o valor corresponder
o padrão * gmacs * , da gmacs opção está ativada. Se o valor corresponder
o padrão * macs *, Em seguida, o emacs opção será ativada. O valor de
VISUAL substitui o valor de EDITOR.
O shell fornece valores padrão para PATH, PS1, PS2, PS3, PS4, VERIFICAÇÃO DE CORREIO, EDITAR, TMOUT e
IFS, enquanto INICIO, SHELL, ENV e MAIL não são definidos pelo shell (embora INICIO is
definido pela entrar(1)). Em alguns sistemas MAIL e SHELL também são definidos por entrar(1).
Campo Dividindo.
Após a expansão do parâmetro e substituição do comando, os resultados das substituições são
verificado para os caracteres separadores de campo (aqueles encontrados em IFS) e dividido em diferentes
campos onde tais caracteres são encontrados. Campos nulos explícitos ("" or ′ ′) são retidos.
Campos nulos implícitos (aqueles resultantes de parâmetros que não têm valores ou comando
substituições sem saída) são removidos.
Se o braçadeira (-B) opção é definida, em seguida, cada um dos campos resultantes de IFS e guarante que os mesmos estão
verificado para ver se eles contêm um ou mais dos padrões de chave {*, *}, {l1..l2} ,
{n1..n2} , {n1..n2% fmt} , {n1..n2 ..n3} , ou {n1..n2 ..n3%fmt} , Onde * representa qualquer
personagem, l1,l2 são letras e n1,n2,n3 são números assinados e fmt é um formato especificado
como usado por printf. Em cada caso, os campos são criados colocando os caracteres antes de
da { e anexando os caracteres após o } a cada uma das strings geradas pelo
personagens entre o { e }. Os campos resultantes são verificados para ver se eles têm algum
padrões de cinta.
No primeiro formulário, um campo é criado para cada string entre { e ,, entre , e ,,
e entre , e }. A string representada por * pode conter correspondência incorporada { e }
sem citar. Caso contrário, cada { e } com * deve ser citado.
No formulário de segundos, l1 e l2 devem ser ambos maiúsculos ou minúsculos
caracteres na localidade C. Neste caso, um campo é criado para cada personagem de l1
através l2.
Nos demais formulários, é criado um campo para cada número começando em n1 e continuando
até chegar n2 incrementando n1 by n3. Os casos onde n3 não é especificado, comportar-se como
if n3 onde 1 if n1<=n2 e -1 de outra forma. Se os formulários que especificam %fmt quaisquer sinalizadores de formato,
larguras e precisões podem ser especificadas e fmt pode terminar em qualquer um dos especificadores cdiouxX.
Por exemplo, nos {a, z} {1..5..3% 02d} {b..c} x expande-se para os 8 campos, a01bx, a01cx, a04bx,
a04cx, z01bx, z01cx, z04bx e z4cx.
Envie o Nome Geração.
Após a divisão, cada campo é verificado em busca de caracteres *, ?, ( e [ a menos que -f
opção foi definida. Se um desses caracteres aparecer, a palavra é considerada como um
de cinto de segurança. Cada componente de nome de arquivo que contém qualquer caractere padrão é substituído por um
Conjunto de nomes classificado lexicograficamente que corresponde ao padrão desse diretório. Se não
o nome do arquivo for encontrado que corresponda ao padrão, então esse componente do nome do arquivo é deixado
inalterado, a menos que o padrão seja prefixado com ∼ (N) nesse caso, é removido como
Descrito abaixo. Se FIGNORA é definido, então cada componente de nome de arquivo que corresponde ao
padrão definido pelo valor de FIGNORA é ignorado ao gerar os nomes de arquivo correspondentes.
Os nomes . e .. também são ignorados. Se FIGNORA não está definido, o personagem . no
o início de cada componente de nome de arquivo será ignorado, a menos que o primeiro caractere do
padrão correspondente a este componente é o personagem . em si. Observe que para outros
usos do padrão que corresponde ao / e . não são tratados de maneira especial.
* Corresponde a qualquer string, incluindo a string nula. Quando usado para nome de arquivo
expansão, se o estrela glob opção está ativada, dois adjacentes *por si só vai
corresponder a todos os arquivos e zero ou mais diretórios e subdiretórios. Se
seguido por um / então, apenas os diretórios e subdiretórios corresponderão.
? Corresponde a qualquer caractere único.
[...] Corresponde a qualquer um dos caracteres incluídos. Um par de caracteres separados
by - corresponde a qualquer caractere lexicalmente entre o par, inclusive. Se o
primeiro personagem após a abertura [ é um ! or ^ então qualquer personagem não
fechado é combinado. UMA - pode ser incluído no conjunto de caracteres, colocando-o
como o primeiro ou último caractere.
Dentro [ e ], as classes de caracteres podem ser especificadas com a sintaxe [:classe:]
onde class é uma das seguintes classes definidas no padrão ANSI-C:
(Observe que palavra é equivalente a alnum mais o personagem _.)
alnum alfa em branco controle dígito gráfico diminuir impressão ponto espaço superior palavra
xdígito
Dentro [ e ], uma classe de equivalência pode ser especificada com a sintaxe [=c=]
que corresponde a todos os caracteres com o mesmo peso de agrupamento primário (como
definido pelo local atual) como o caractere c. Dentro [ e ],
[.símbolo.] corresponde ao símbolo de agrupamento símbolo.
A lista de padrões é uma lista de um ou mais padrões separados uns dos outros por um & or ⎪.
A & significa que todos os padrões devem ser combinados, enquanto ⎪ requer que apenas um padrão
ser combinado. Padrões compostos podem ser formados com um ou mais dos seguintes sub-
padrões:
?(lista de padrões)
Opcionalmente, corresponde a qualquer um dos padrões fornecidos.
*(lista de padrões)
Corresponde a zero ou mais ocorrências dos padrões fornecidos.
+(lista de padrões)
Corresponde a uma ou mais ocorrências dos padrões fornecidos.
{n}(lista de padrões)
Partidas n ocorrências dos padrões fornecidos.
{m,n}(lista de padrões)
Jogos de m para n ocorrências dos padrões fornecidos. Se m é omitido, 0
será usado. Se n é omitido pelo menos m as ocorrências serão correspondidas.
@(lista de padrões)
Corresponde exatamente a um dos padrões fornecidos.
!(lista de padrões)
Corresponde a qualquer coisa, exceto um dos padrões fornecidos.
Por padrão, cada padrão ou subpadrão corresponderá à string mais longa possível consistente
com a geração da correspondência geral mais longa. Se mais de uma correspondência for possível, a
começando mais próximo do início da string será escolhido. No entanto, para cada um dos
acima dos padrões compostos a - pode ser inserido na frente do ( para causar a combinação mais curta
à especificada lista de padrões ser usado.
Quando lista de padrões está contido entre parênteses, o caractere de barra invertida \ é tratado
especialmente mesmo quando dentro de uma classe de personagem. Todos os escapes de caracteres ANSI-C são
reconhecido e corresponder ao caractere especificado. Além disso, as seguintes sequências de escape
são reconhecidos:
\d Corresponde a qualquer caractere no dígito classe.
\D Corresponde a qualquer caractere que não esteja no dígito classe.
\s Corresponde a qualquer caractere no espaço classe.
\S Corresponde a qualquer caractere que não esteja no espaço classe.
\w Corresponde a qualquer caractere no palavra classe.
\W Corresponde a qualquer caractere que não esteja no palavra classe.
Um padrão do formulário %(par de padrões(S)) é um subpadrão que pode ser usado para combinar
expressões de caráter. Cada par de padrões é uma sequência de dois caracteres que não pode conter
& or ⎪. O primeiro par de padrões especifica os caracteres inicial e final para o
partida. Cada subseqüente par de padrões representa os caracteres iniciais e finais de um
grupo aninhado que será ignorado ao contar o caractere inicial e final
fósforos. O comportamento não é especificado quando o primeiro caractere de um par de padrões é alfa-
numérico, exceto para o seguinte:
D Faz com que o caractere final termine a busca por este padrão sem
encontrar uma correspondência.
E Faz com que o caractere final seja interpretado como um caractere de escape.
L Faz com que o caractere final seja interpretado como um caractere de aspas, causando
todos os caracteres devem ser ignorados ao procurar uma correspondência.
Q Faz com que o caractere final seja interpretado como um caractere de aspas, causando
todos os caracteres, exceto qualquer caractere de escape, devem ser ignorados ao olhar
para uma partida.
Assim, % ({} Q "E \), corresponde a caracteres começando em { até a correspondência } é encontrado não
contando qualquer { or } que está dentro de uma string entre aspas duplas ou precedido pelo escape
personagem \. Sem o {} este padrão corresponde a qualquer string de linguagem C.
Cada subpadrão em um padrão composto é numerado, começando em 1, pela localização do
( dentro do padrão. A sequência \n, Onde n é um único dígito e \n vem depois do
n-º. subpadrão, corresponde à mesma string que o próprio subpadrão.
Finalmente, um padrão pode conter subpadrões do formulário ∼ (opções:lista de padrões), Onde
ou opções or :lista de padrões pode ser omitida. Ao contrário dos outros padrões compostos, estes
os subpadrões não são contados nos subpadrões numerados. :lista de padrões deve ser omitido
para opções F, G, N , e V abaixo. Se opções está presente, pode consistir em um ou mais
da seguinte:
+ Ative as seguintes opções. Este é o padrão.
- Desative as seguintes opções.
E O restante do padrão usa sintaxe de expressão regular estendida como
da egrep(1) comando.
F O restante do padrão usa fgrep(1) sintaxe de expressão.
G O restante do padrão usa sintaxe de expressão regular básica como o
grep(1) comando.
K O restante do padrão usa a sintaxe do padrão de shell. Isto é o
padrão.
N Isso é ignorado. No entanto, quando é a primeira letra e é usada com o arquivo
geração de nome, e nenhuma correspondência ocorre, o padrão de arquivo se expande para o vazio
string.
X O restante do padrão usa sintaxe de expressão regular aumentada, como
da xgrep(1) comando.
P O restante do padrão usa perl(1) sintaxe de expressão regular. Não
toda a sintaxe de expressão regular perl está implementada atualmente.
V O restante do padrão usa a sintaxe de expressão regular do System V.
i Trate a correspondência como indiferente a maiúsculas e minúsculas.
g Arquive a correspondência mais longa (ganancioso). Este é o padrão.
l Ancorar à esquerda o padrão. Este é o padrão para K padrões de estilo.
r Faça a ancoragem correta do padrão. Este é o padrão para K padrões de estilo.
Se ambos opções e :lista de padrões são especificados, então as opções se aplicam apenas a padronizar-
Lista. Caso contrário, essas opções permanecem em vigor até que sejam desativadas por um
∼ (...) ou no final do sub-padrão contendo ∼ (...).
Citando.
Cada um dos metacaracteres listados anteriormente (ver Definições acima) tem um significado especial para
o shell e causa o término de uma palavra, a menos que seja citada. Um personagem pode ser citado
(ou seja, feito para representar a si mesmo) precedendo-o com um \. O par \nova linha é removido.
Todos os caracteres colocados entre um par de aspas simples (′ ′) que não é precedido por
a $ são citados. Uma aspa simples não pode aparecer entre aspas simples. Um único citado
string precedida por um sem aspas $ é processado como uma string ANSI-C, exceto para o
A seguir:
\0 Faz com que o restante da string seja ignorado.
\E Equivalente ao caractere de escape (ascii 033),
\e Equivalente ao caractere de escape (ascii 033),
\cx Expande-se para o controle do personagemx.
\ C [.nome.]
Expande-se para o elemento de agrupamento nome.
Dentro das aspas duplas (""), ocorre a substituição de parâmetro e comando e \ cita o
caracteres \, `, " e $. UMA $ na frente de uma string entre aspas duplas será ignorado no
Localidade "C" ou "POSIX", e pode fazer com que a string seja substituída por uma string específica da localidade
de outra forma. O significado de $ ∗ e $@ é idêntico quando não citado ou quando usado como um
valor de atribuição de variável ou como um nome de arquivo. No entanto, quando usado como um argumento de comando,
"$ ∗" é equivalente a "$ 1d$2d...", Onde d é o primeiro personagem do IFS variável,
enquanto que "$ @" é equivalente a "$ 1" "$ 2" .... Dentro das aspas graves (``), \ cita o
caracteres \, ` e $. Se as aspas graves ocorrerem entre aspas duplas, então \ tb
cita o personagem ".
O significado especial de palavras reservadas ou apelidos pode ser removido citando qualquer caractere
da palavra reservada. O reconhecimento de nomes de funções ou nomes de comandos integrados listados
abaixo não pode ser alterado citando-os.
Aritmética Avaliação.
O shell realiza avaliação aritmética para substituição aritmética, para avaliar um
comando aritmético, para avaliar um subscrito de matriz indexada e para avaliar argumentos para
os comandos embutidos mudança e deixar. As avaliações são realizadas com dupla precisão
aritmética de ponto flutuante ou ponto flutuante de dupla precisão longa para sistemas que fornecem
este tipo de dados. As constantes de ponto flutuante seguem a linguagem de programação ANSI-C flutuante
convenções de pontos. As constantes de ponto flutuante Nan e Inf pode ser usado para representar "não
um número "e infinito, respectivamente. As constantes inteiras seguem a programação ANSI-C
convenções de constantes inteiras da linguagem, embora apenas constantes de caracteres de byte único sejam
reconhecidas e as projeções de caracteres não são reconhecidas. Além disso, as constantes podem ser do
Formato [base#]n onde base é um número decimal entre dois e sessenta e quatro que representa o
base aritmética e n é um número nessa base. Os dígitos acima de 9 são representados pelo
letras minúsculas, as letras maiúsculas, @ e _ respectivamente. Para bases menores que ou
igual a 36, caracteres maiúsculos e minúsculos podem ser usados alternadamente.
Uma expressão aritmética usa a mesma sintaxe, precedência e associatividade da expressão
como a linguagem C. Todos os operadores da linguagem C que se aplicam a quantidades de ponto flutuante
pode ser usado. Além disso, a operadora ** pode ser usado para exponenciação. Tem maior
precedência do que multiplicação e é associativo à esquerda. Além disso, quando o valor de um
a variável aritmética ou subexpressão pode ser representada como um inteiro longo, tudo em linguagem C
operações aritméticas inteiras podem ser executadas. Variáveis podem ser referenciadas por nome
dentro de uma expressão aritmética sem usar a sintaxe de expansão de parâmetro. Quando um
variável é referenciada, seu valor é avaliado como uma expressão aritmética.
Qualquer uma das seguintes funções da biblioteca matemática que estão na biblioteca matemática C pode ser usada
dentro de uma expressão aritmética:
abs acos acosh asin Asinh um bronzeado atan2 atanh TCC teto cópia carrinho caralho erf erfc exp exp2
expm1 fabs fpclassificar fdim finito andar FMA fmax fmin fmod hipoteca ilogb int isfinito aula
isnan é normal é anormal está subordinado é zero j0 j1 jn lgama log log10 log2 logb
vizinhança logo a seguir próximo a prisioneiro de guerra restante rint volta digitalizar bit de sinal sem sinh sqrt bronzeado
duvidoso tgama tronco y0 y1 yn Além disso, as funções aritméticas podem ser definidas como shell
funções com uma variante do função nome sintaxe,
função .sh.matemática.nome identificação ... { Lista ;}
onde nome é o nome da função usada na expressão aritmética e cada
identificador, identificação é uma referência de nome para o ponto flutuante de precisão dupla longa
argumento. O valor de .sh.valor quando a função retorna é o valor deste
função. As funções definidas pelo usuário podem ter até 3 argumentos e substituir a matemática C
funções de biblioteca.
Uma representação interna de um variável como um ponto flutuante de dupla precisão pode ser
especificado com o -E [n], -F [n] ou -X [n] opção do formatado embutido especial
comando. o -E opção faz com que a expansão do valor a ser representado usando
notação científica quando é expandida. O argumento da opção opcional n define o
número de algarismos significativos. o -F opção faz com que a expansão seja representada como um
número decimal flutuante quando é expandido. o -X opção fazer com que a expansão seja
representado usando o %a formato definido pela ISO C-99. O argumento da opção opcional n
define o número de casas após o ponto decimal (ou raiz) neste caso.
Uma representação interna inteira de um variável pode ser especificado com o -i [n] opção
que acontecerá no marco da formatado comando embutido especial. O argumento da opção opcional n especifica um
base aritmética a ser usada ao expandir a variável. Se você não especificar um
base aritmética, a base 10 será usada.
A avaliação aritmética é realizada no valor de cada atribuição a uma variável com o
-E, -F, -X, ou -i atributo. Atribuindo um número de ponto flutuante a uma variável cujo tipo
é um número inteiro faz com que a parte fracionária seja truncada.
Solicitando.
Quando usado interativamente, o shell avisa com o valor de PS1 depois de expandi-lo para
expansão de parâmetro, substituição de comando e substituição aritmética, antes de ler um
comando. Além disso, cada um ! no prompt é substituído pelo número do comando. UMA
!! é necessário colocar ! no prompt. Se a qualquer momento uma nova linha for digitada e mais
entrada é necessária para completar um comando, então o prompt secundário (ou seja, o valor de PS2)
é emitido.
Condicional Expressões.
A condicional expressão é usado com o [[ comando composto para testar atributos de arquivos
e para comparar strings. A divisão de campo e geração de nome de arquivo não são realizadas no
palavras entre [[ e ]]. Cada expressão pode ser construída a partir de um ou mais dos
seguintes expressões unárias ou binárias:
corda Verdade, se corda não é nulo.
-a lima
Igual a -e abaixo. Isso está obsoleto.
-b lima
Verdade, se lima existe e é um arquivo especial de bloco.
-c lima
Verdade, se lima existe e é um arquivo especial de caracteres.
-d lima
Verdade, se lima existe e é um diretório.
-e lima
Verdade, se lima existe.
-f lima
Verdade, se lima existe e é um arquivo comum.
-g lima
Verdade, se lima existe e tem seu bit setgid definido.
-k lima
Verdade, se lima existe e tem seu bit sticky definido.
-n corda
Verdadeiro, se o comprimento de corda é diferente de zero.
-o ?opção
Verdadeiro, se a opção for nomeada opção é um nome de opção válido.
-o opção
Verdadeiro, se a opção for nomeada opção está ligado.
-p lima
Verdade, se lima existe e é um arquivo especial fifo ou um tubo.
-r lima
Verdade, se lima existe e é legível pelo processo atual.
-s lima
Verdade, se lima existe e tem tamanho maior que zero.
-t filhos
Verdadeiro, se o número do descritor de arquivo filhos está aberto e associado a um terminal
dispositivo.
-u lima
Verdade, se lima existe e tem seu conjunto de bits setuid.
-v nome
Verdadeiro, se variável nome é um nome de variável válido e está definido.
-w lima
Verdade, se lima existe e é gravável pelo processo atual.
-x lima
Verdade, se lima existe e é executável pelo processo atual. Se lima existe e é um
diretório, então verdadeiro se o processo atual tiver permissão para pesquisar no
diretório.
-z corda
Verdadeiro, se o comprimento de corda é zero.
-L lima
Verdade, se lima existe e é um link simbólico.
-h lima
Verdade, se lima existe e é um link simbólico.
-N lima
Verdade, se lima existe e o tempo de modificação é maior do que o último acesso
tempo.
-O lima
Verdade, se lima existe e pertence ao id de usuário efetivo deste processo.
-G lima
Verdade, se lima existe e seu grupo corresponde ao id de grupo efetivo deste processo.
-R nome
Verdadeiro se variável nome é uma referência de nome.
-S lima
Verdade, se lima existe e é um soquete.
file1 -nt file2
Verdade, se file1 existe e file2 não, ou file1 é mais novo que file2.
file1 -ot file2
Verdade, se file2 existe e file1 não, ou file1 É mais velho que file2.
file1 -E se file2
Verdade, se file1 e file2 existem e referem-se ao mesmo arquivo.
corda == de cinto de segurança
Verdade, se corda fósforos de cinto de segurança. Qualquer parte de de cinto de segurança pode ser citado para fazer com que
ser correspondido como uma string. Com uma correspondência bem-sucedida com um padrão, o .sh.match ordem
variável conterá as correspondências de correspondência e subpadrão.
corda = de cinto de segurança
Igual a == acima, mas está obsoleto.
corda != de cinto de segurança
Verdade, se corda não corresponde de cinto de segurança. Quando o corda corresponde ao de cinto de segurança da
.sh.match a variável de matriz conterá as correspondências de correspondência e subpadrão.
corda = ∼ Recursos
Verdadeiro se corda corresponde ao padrão ∼ (E)Recursos onde Recursos é um regular estendido
expressão.
string1 < string2
Verdade, se string1 vem antes string2 com base no valor ASCII de seus caracteres.
string1 > string2
Verdade, se string1 vem depois string2 com base no valor ASCII de seus caracteres.
As seguintes comparações aritméticas obsoletas também são permitidas:
exp1 -eq exp2
Verdade, se exp1 é igual a exp2.
exp1 -um exp2
Verdade, se exp1 não é igual a exp2.
exp1 -lt exp2
Verdade, se exp1 é inferior a exp2.
exp1 -gt exp2
Verdade, se exp1 é melhor que exp2.
exp1 Eles exp2
Verdade, se exp1 é menor ou igual a exp2.
exp1 -dar exp2
Verdade, se exp1 é maior que ou igual a exp2.
Em cada uma das expressões acima, se lima é da forma / dev / fd /n, Onde n é um número inteiro
então o teste é aplicado ao arquivo aberto cujo número descritor é n.
Uma expressão composta pode ser construída a partir dessas primitivas usando qualquer um dos
a seguir, listados em ordem decrescente de precedência.
(expressão)
Verdade, se expressão é verdade. Usado para agrupar expressões.
! expressão
Verdadeiro se expressão é falso.
expressão1 && expressão2
Verdade, se expressão1 e expressão2 são ambos verdadeiros.
expressão1 ⎪⎪ expressão2
Verdade, se expressão1 or expressão2 é verdade.
Entrada / saída.
Antes de um comando ser executado, sua entrada e saída podem ser redirecionadas usando um especial
notação interpretada pelo shell. O seguinte pode aparecer em qualquer lugar em um comando simples
ou pode preceder ou seguir um comando e são não passado para o comando invocado. Comando
substituição, expansão de parâmetro e substituição aritmética ocorrem antes palavra or dígito
é usado, exceto conforme indicado abaixo. A geração do nome do arquivo ocorre apenas se o shell for
interativo e o padrão corresponde a um único arquivo. A divisão de campo não é executada.
Em cada um dos seguintes redirecionamentos, se lima é da forma / dev / sctp /hospedeiro/porta,
/ dev / tcp /hospedeiro/porta, ou / dev / udp /hospedeiro/porta, Onde hospedeiro é um nome de host ou endereço de host e
porta é um serviço fornecido por nome ou um número de porta inteiro, então o redirecionamento tenta
fazer um tcp, sctp or udp conexão ao soquete correspondente.
Nenhum espaço intermediário é permitido entre os caracteres dos operadores de redirecionamento.
<palavra Usar arquivo palavra como entrada padrão (descritor de arquivo 0).
>palavra Usar arquivo palavra como saída padrão (descritor de arquivo 1). Se o arquivo não
existe, então ele é criado. Se o arquivo existir, e o nocturno opção
ativado, isso causa um erro; caso contrário, é truncado para comprimento zero.
>|palavra Igual a >, exceto que substitui o nocturno opção.
>;palavra Grave a saída em um arquivo temporário. Se o comando for concluído com sucesso
renomeie para palavra, caso contrário, exclua o arquivo temporário. >;palavra não pode ser
usado com o exec(2) construídas em.
>>palavra Usar arquivo palavra como saída padrão. Se o arquivo existir, a saída será
anexado a ele (buscando primeiro o final do arquivo); caso contrário, o arquivo é
criado.
<>palavra Abrir arquivo palavra para leitura e gravação como saída padrão.
<>;palavra O mesmo que <>palavra exceto que se o comando for concluído com sucesso, palavra
é truncado para o deslocamento na conclusão do comando. <>;palavra não pode ser usado
com o exec(2) construídas em.
<<[-]palavra A entrada do shell é lida até uma linha que é a mesma que palavra depois de qualquer
citação foi removido, ou para um fim de arquivo. Sem substituição de parâmetro,
substituição de comando, substituição aritmética ou geração de nome de arquivo é
realizado em palavra. O documento resultante, chamado de aqui-documento, torna-se
a entrada padrão. Se algum personagem de palavra é citado, então não
a interpretação é feita sobre os caracteres do documento; de outra forma,
expansão de parâmetro, substituição de comando e substituição aritmética
ocorrer, \nova linha é ignorado, e \ deve ser usado para citar os caracteres \,
$, `. Se - é anexado a <<, então todas as guias principais são retiradas de palavra
e do documento. Se # é anexado a <<, em seguida, espaços e tabulações iniciais
será retirado da primeira linha do documento e até um equivalente
o recuo será removido das linhas restantes e de palavra. Um separador
a parada é assumida para ocorrer a cada 8 colunas para fins de determinação
o recuo.
<<palavra Uma forma abreviada deste documento em que palavra torna-se o conteúdo do
here-document após qualquer expansão de parâmetro, substituição de comando e
substituição aritmética ocorre.
<&dígito A entrada padrão é duplicada do descritor de arquivo dígito (Vejo dup(2)).
Da mesma forma para a saída padrão usando >&dígito.
<&dígito- O descritor de arquivo fornecido por dígito é movido para a entrada padrão. de forma similar
para a saída padrão usando >&dígito-.
<& - A entrada padrão é fechada. Da mesma forma para a saída padrão usando > & -.
<& p A entrada do co-processo é movida para a entrada padrão.
> & p A saída para o co-processo é movida para a saída padrão.
<# ((expr)) Avalie a expressão aritmética expr e posicionar o descritor de arquivo 0 para o
bytes de valor resultante do início do arquivo. As variáveis CUR e EOF
avaliar para o deslocamento atual e deslocamento de fim de arquivo, respectivamente, quando
avaliação exp.
> # ((compensar)) O mesmo que <# exceto se aplica ao descritor de arquivo 1.
<#de cinto de segurança Busca para frente para o início da próxima linha contendo de cinto de segurança.
<##de cinto de segurança O mesmo que <# exceto que a parte do arquivo que é ignorada é copiada
para a saída padrão.
Se um dos itens acima for precedido por um dígito, sem espaço intermediário, o arquivo
o número do descritor referido é aquele especificado pelo dígito (em vez do padrão 0 ou
1). Se uma das opções acima, diferente de > & - e ># e <# formulários, é precedido por {nome da var}
sem espaço intermediário, então um descritor de arquivo número> 10 será selecionado pelo
shell e armazenado na variável nome da var. Se > & - ou qualquer um dos ># e <# formulários é
precedido por {nome da var} o valor de nome da var define o descritor de arquivo para fechar ou
posição. Por exemplo:
... 2> e 1
significa que o descritor de arquivo 2 deve ser aberto para gravação como uma duplicata do descritor de arquivo 1
e
exec {n}
significa arquivo aberto chamado lima para ler e armazenar o número do descritor de arquivo na variável n.
A ordem em que os redirecionamentos são especificados é significativa. O shell avalia cada
redirecionamento em termos de (lima descritor, lima) associação no momento da avaliação.
Por exemplo:
... 1>nome 2> e 1
primeiro associa o descritor de arquivo 1 ao arquivo nome. Em seguida, associa o descritor de arquivo 2
com o arquivo associado ao descritor de arquivo 1 (ou seja, nome) Se a ordem de
os redirecionamentos foram revertidos, o descritor de arquivo 2 seria associado ao terminal
(assumindo que o descritor de arquivo 1 foi) e, em seguida, o descritor de arquivo 1 seria associado com
lima nome.
Se um comando é seguido por & e o controle de trabalho não está ativo, então o padrão padrão
entrada para o comando é o arquivo vazio / dev / null. Caso contrário, o ambiente para o
a execução de um comando contém os descritores de arquivo do shell de chamada, conforme modificado por
especificações de entrada / saída.
Meio Ambiente.
O meio Ambiente (Vejo ambiente(7)) é uma lista de pares nome-valor que é passada para um
programa executado da mesma maneira que uma lista de argumentos normal. Os nomes devem ser Identificadores
e os valores são cadeias de caracteres. O shell interage com o meio ambiente em vários
maneiras. Na chamada, o shell verifica o ambiente e cria uma variável para cada nome
encontrado, dando-lhe o valor e atributos correspondentes e marcando-o exportar. Executado
comandos herdam o ambiente. Se o usuário modificar os valores dessas variáveis ou
cria novos, usando o exportar or formatado -x comandos, eles se tornam parte do
ambiente. O ambiente visto por qualquer comando executado é, portanto, composto de qualquer nome-
pares de valores originalmente herdados pelo shell, cujos valores podem ser modificados pelo atual
casca, além de quaisquer adições que devem ser observadas em exportar or formatado -x comandos.
O ambiente para qualquer comando simples ou a função pode ser aumentada prefixando-a com
uma ou mais atribuições de variáveis. Um argumento de atribuição de variável é uma palavra da forma
identificador = valor. Portanto:
TERM = 450 cmd args e
(exportar PRAZO; TERM = 450; cmd argumentos)
são equivalentes (na medida em que a execução acima de cmd está preocupado, exceto para especial
comandos embutidos listados abaixo - aqueles que são precedidos por uma adaga).
Se o obsoleto -k opção está definida, todos os argumentos de atribuição de variáveis são colocados no
ambiente, mesmo que ocorram após o nome do comando. As seguintes primeiras impressões a = b c
e depois c:
eco a = b c
conjunto -k
eco a = b c
Este recurso deve ser usado com scripts escritos para versões anteriores do shell e
seu uso em novos scripts é fortemente desencorajado. É provável que desapareça algum dia.
Funções.
Por razões históricas, existem duas maneiras de definir funções, o nome() sintaxe e o
função nome sintaxe, descrita no comandos seção acima. As funções do shell são lidas
em e armazenados internamente. Os nomes de alias são resolvidos quando a função é lida. Funções
são executados como comandos com os argumentos passados como parâmetros posicionais. (Ver
Execução abaixo.)
Funções definidas pelo função nome sintaxe e chamada pelo nome executam da mesma forma
processar como o chamador e compartilhar todos os arquivos e o diretório de trabalho atual com o chamador.
As armadilhas capturadas pelo chamador são redefinidas para sua ação padrão dentro da função. Uma armadilha
condição que não é detectada ou ignorada pela função faz com que a função seja encerrada
e a condição a ser passada ao chamador. Uma armadilha SAIR definido dentro de uma função é
executado no ambiente do chamador após a conclusão da função. Normalmente,
as variáveis são compartilhadas entre o programa de chamada e a função. No entanto, o formatado
comando embutido especial usado dentro de uma função define variáveis locais cujo escopo
inclui a função atual. Eles podem ser passados para funções que chamam no
lista de atribuição de variável que antecede a chamada ou como argumentos passados como referências de nome.
Os erros nas funções devolvem o controle ao chamador.
Funções definidas com o nome() sintaxe e funções definidas com o função nome
sintaxe que é invocada com o . embutidos especiais são executados no chamador
ambiente e compartilhar todas as variáveis e armadilhas com o chamador. Erros nestes
as execuções de funções fazem com que o script que as contém seja abortado.
O comando embutido especial retorno é usado para retornar de chamadas de função.
Os nomes das funções podem ser listados com o -f or +f opção do formatado embutido especial
comando. O texto das funções, quando disponível, também será listado com -f. Funções
pode ser indefinido com o -f opção do não definido comando embutido especial.
Normalmente, as funções não são definidas quando o shell executa um script de shell. Funções que
precisa ser definido em invocações separadas do shell deve ser colocado em um
diretório e o FPATH variável deve conter o nome deste diretório. Eles também podem
ser especificado no ENV arquivo.
Disciplina Funções.
Cada variável pode ter zero ou mais funções de disciplina associadas a ela. A concha
inicialmente entende os nomes das disciplinas ter, conjunto, anexar e não definido mas pode ser adicionado
ao definir novos tipos. Na maioria dos sistemas, outros podem ser adicionados em tempo de execução por meio do C
extensão da interface de programação fornecida pelo builtin utilitário embutido. Se o ter
disciplina é definida para uma variável, ela é invocada sempre que a variável dada é
referenciado. Se a variável .sh.valor recebe um valor dentro da função de disciplina,
a variável referenciada será avaliada para este valor em vez disso. Se o conjunto disciplina é
definido para uma variável, ele é chamado sempre que um valor é atribuído a uma determinada variável. Se
da anexar disciplina é definida para uma variável, ela é invocada sempre que um valor é
anexado à variável fornecida. A variável .sh.valor recebe o valor da variável
antes de invocar a disciplina, e a variável receberá o valor de .sh.valor
após a conclusão da disciplina. Se .sh.valor não está definido dentro da disciplina, então isso
o valor permanece inalterado. Se o não definido disciplina é definida por uma variável, é invocada
sempre que a variável fornecida não for definida. A variável não será desmarcada a menos que seja desmarcada
explicitamente de dentro desta função de disciplina.
A variável .sh.nome contém o nome da variável para a qual a função de disciplina
é chamado, .sh.subscrito é o subscrito da variável, e .sh.valor irá conter o
valor sendo atribuído dentro do conjunto função de disciplina. A variável _ é uma referência a
a variável incluindo o subscrito, se houver. Para o conjunto disciplina, mudando .sh.valor
irá alterar o valor atribuído. Finalmente, a expansão ${var.nome}, Quando nome
é o nome de uma disciplina, e não há variável com este nome, é equivalente ao
substituição de comando ${ var.nome;}.
Nome Espaços
Comandos e funções que são executados como parte do Lista de uma namespace comandar isso
modifique variáveis ou crie novas, crie uma nova variável cujo nome é o nome do
espaço de nome dado por identificador precedido por .. Quando uma variável cujo nome é nome is
referenciado, é primeiro procurado usando .identificador.nome. Da mesma forma, uma função
definido por um comando no namespace Lista é criado usando o nome do espaço de nome precedido
por uma ..
Quando o Lista de uma namespace comando contém um namespace comando, os nomes das variáveis
e as funções que são criadas consistem na variável ou nome da função precedido pelo
lista de identificadorcada um é precedido por ..
Fora de um namespace, uma variável ou função criada dentro de um namespace pode ser
referenciado precedendo-o com o nome do espaço de nomes.
Por padrão, as variáveis começando com .sh estão na sh espaço de nomes.
Formato Variáveis
Variáveis digitadas fornecem uma maneira de criar objetos e estruturas de dados. Um tipo pode ser definido
seja por uma biblioteca compartilhada, pelo enumerar comando embutido descrito abaixo, ou usando o
novo -T opção do formatado comando embutido. Com o -T opção de formatado, o tipo
nome, especificado como um argumento de opção para -T, é definido com uma atribuição de variável composta
que define o tipo. As definições de função podem aparecer dentro da variável composta
atribuição e estas se tornam funções disciplinares para este tipo e podem ser invocadas ou
redefinido por cada instância do tipo. O nome da função crio é tratado de maneira especial.
É invocado para cada instância do tipo que é criado, mas não é herdado e
não pode ser redefinido para cada instância.
Quando um tipo é definido, um comando interno especial com esse nome é adicionado. Esses embutidos
são comandos de declaração e seguem as mesmas regras de expansão que todos os
comandos definidos abaixo que são precedidos por ††. Esses comandos podem ser usados posteriormente
dentro de outras definições de tipo. A página do manual para esses comandos pode ser gerada por
usando o --cara opção ou qualquer outra -- opções descritas com obter opções. O -r, -a,
-A, -h e -S opções de formatado são permitidos com cada um desses novos integrados.
Uma instância de um tipo é criada invocando o nome do tipo seguido por um ou mais
nomes de instância. Cada instância do tipo é inicializada com uma cópia das subvariáveis
exceto para subvariáveis que são definidas com o -S opção. Variáveis definidas com o
-S são compartilhados por todas as instâncias do tipo. Cada instância pode alterar o valor de qualquer
subvariável e também pode definir novas funções disciplinares com os mesmos nomes daqueles
definido pela definição de tipo, bem como quaisquer nomes de disciplina padrão. Nenhum adicional
subvariáveis podem ser definidas para qualquer instância.
Ao definir um tipo, se o valor de uma subvariável não estiver definido e o -r atributo é
especificado, faz com que a subvariável seja uma subvariável necessária. Sempre que uma instância
de um tipo é criado, todas as subvariáveis necessárias devem ser especificadas. Essas subvariáveis
tornam-se somente leitura em cada instância.
Quando não definido é invocado em uma subvariável dentro de um tipo, e o -r atributo não foi
especificado para este campo, o valor é redefinido para o valor padrão associativo com o
modelo. Invocando não definido em uma instância de tipo não contida em outro tipo exclui todos
subvariáveis e a própria variável.
Uma definição de tipo pode ser derivada de outra definição de tipo, definindo o primeiro sub-
nome da variável como _ e definindo seu tipo como o tipo base. Quaisquer definições restantes irão
ser adições e modificações que se aplicam ao novo tipo. Se o novo nome do tipo for o
mesmo é o do tipo base, o tipo será substituído e o tipo original não
mais acessível.
O formatado comando com o -T e nenhum argumento de opção ou operandos escreverão todos os tipos
definições para a saída padrão em um formato que pode ser lido para criar todos
tipos.
Empregos.
Se o monitor opção do conjunto comando está ativado, um shell interativo associa um
trabalho com cada pipeline. Ele mantém uma tabela de trabalhos atuais, impressa pelo empregos comando,
e atribui a eles pequenos números inteiros. Quando um trabalho é iniciado de forma assíncrona com &,
shell imprime uma linha que se parece com:
[1] 1234
indicando que o trabalho que foi iniciado de forma assíncrona era o trabalho número 1 e tinha um
(nível superior) processo, cujo ID de processo era 1234.
Este parágrafo e o próximo requerem recursos que não estão em todas as versões do UNIX e podem
não se aplica. Se você está executando um trabalho e deseja fazer outra coisa, você pode apertar a tecla ^Z
(control-Z) que envia um sinal STOP para o trabalho atual. O shell irá então normalmente
indique que o trabalho foi `Parado 'e imprima outro prompt. Então você pode
manipular o estado deste trabalho, colocando-o em segundo plano com o bg comandar ou executar
alguns outros comandos e, eventualmente, trazer o trabalho de volta para o primeiro plano com o
comando de primeiro plano fg. UMA ^Z entra em vigor imediatamente e é como uma interrupção naquele
a saída pendente e a entrada não lida são descartadas quando digitadas.
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.
Um pool de jobs é uma coleção de jobs iniciados com Lista & associado a um nome.
Existem várias maneiras de se referir a jobs no shell. Um trabalho pode ser referido pelo
identificação do processo de qualquer processo do trabalho ou por um dos seguintes:
%número
O trabalho com o número fornecido.
piscina Todos os trabalhos no pool de trabalhos nomeados por piscina.
piscina.número
O número do trabalho número no pool de empregos nomeado por piscina.
%corda
Qualquer trabalho cuja linha de comando comece com corda.
%?corda
Qualquer trabalho cuja linha de comando contenha corda.
%% Trabalho atual.
%+ Equivalente a %%.
%- Trabalho anterior. Além disso, salvo indicação em contrário, onde quer que um trabalho possa ser
especificado, o nome de um pool de trabalhos em segundo plano pode ser usado para representar todos os trabalhos
nessa piscina.
O shell aprende imediatamente sempre que um processo muda de estado. Normalmente informa você
sempre que um trabalho é bloqueado de forma que nenhum progresso posterior seja possível, mas apenas
antes de imprimir um prompt. Isso é feito para não atrapalhar seu trabalho.
O notificar opção do conjunto comando faz com que o shell imprima estas mensagens de mudança de trabalho
assim que ocorrerem.
Quando o monitor opção estiver ativada, cada trabalho em segundo plano que for concluído aciona qualquer conjunto de interceptações
for CHLD.
Ao tentar sair do shell enquanto as tarefas estão em execução ou interrompidas, você será avisado de que
`Você interrompeu (executando) trabalhos. ' Você pode usar o empregos comando para ver o que são. Se
você imediatamente tenta sair novamente, o shell não irá avisá-lo uma segunda vez, e o
trabalhos interrompidos serão encerrados. Quando um shell de login recebe um sinal HUP, ele envia um HUP
sinalizar para cada trabalho que não foi rejeitado com o renegar comando embutido descrito
abaixo.
Sinais.
Os sinais INT e QUIT para um comando invocado são ignorados se o comando for seguido por
& e monitor opção não está ativa. Caso contrário, os sinais têm os valores herdados por
o shell de seu pai (mas veja também o armadilha comando embutido abaixo).
Execução.
Cada vez que um comando é lido, as substituições acima são realizadas. Se o nome do comando
corresponde a um dos Destaque Autenticador comandos listado abaixo, ele é executado dentro do
processo de shell atual. Em seguida, o nome do comando é verificado para ver se ele corresponde a um usuário
função definida. Em caso afirmativo, os parâmetros posicionais são salvos e, em seguida, redefinidos para o
argumentos do função ligar. Uma função também é executada no processo shell atual.
Quando o função completa ou emite um retorno, a lista de parâmetros posicionais é restaurada.
Para funções definidas com o função nome sintaxe, qualquer armadilha definida em SAIR dentro do
função é executada. O valor de saída de um função é o valor do último comando
executado. Se um nome de comando não for um especial construídas em comando ou um usuário definido função,
mas é um dos comandos integrados listados abaixo, é executado no shell atual
processo.
As variáveis de shell PATH seguido pela variável FPATH define a lista de diretórios para
procure o nome do comando. Nomes de diretórios alternativos são separados por dois pontos (:).
O caminho padrão é / bin:/ usr / bin: (especificando / bin, / usr / bin, e o diretório atual
naquela ordem). O diretório atual pode ser especificado por dois ou mais dois-pontos adjacentes, ou
por dois pontos no início ou no final da lista de caminhos. Se o nome do comando contém um /,
então o caminho de pesquisa não é usado. Caso contrário, cada diretório na lista de diretórios
definido por PATH e FPATH é verificado em ordem. Se o diretório que está sendo pesquisado for
contido em FPATH e contém um arquivo cujo nome corresponde ao comando que está sendo pesquisado, então
este arquivo é carregado no ambiente shell atual como se fosse o argumento para o .
comando, exceto que apenas aliases predefinidos são expandidos, e uma função do nome fornecido é
executado conforme descrito acima.
Se este diretório não estiver em FPATH o shell primeiro determina se há um embutido
versão de um comando correspondente a um determinado nome de caminho e, se for o caso, é invocado no
Processo atual. Se nenhum embutido for encontrado, o shell verifica se há um arquivo chamado .caminhos in
este diretório. Se for encontrado e houver uma linha do formulário FPATH =caminho onde caminho nomeia um
diretório existente, então esse diretório é pesquisado imediatamente após o atual
diretório como se fosse encontrado no FPATH variável. Se caminho não começa com /, é
verificado em relação ao diretório que está sendo pesquisado.
O .caminhos arquivo é então verificado para uma linha do formulário PLUGIN_LIB =nome da biblioteca [ : nome da biblioteca ]
... Cada biblioteca nomeada por nome da biblioteca será procurado como se fosse um argumento de opção
para builtin -f, e se contiver um embutido com o nome especificado, será executado
em vez de um comando com este nome. Qualquer embutido carregado de uma biblioteca encontrada desta forma irá
ser associado ao diretório que contém o .caminhos arquivo, então ele só será executado se não for
encontrado em um diretório anterior.
Finalmente, o diretório será verificado para um arquivo com o nome fornecido. Se o arquivo tiver
permissão de execução, mas não é um a.out arquivo, presume-se que seja um arquivo contendo shell
comandos. Um shell separado é gerado para lê-lo. Todas as variáveis não exportadas são removidas
nesse caso. Se o arquivo de comando shell não tiver permissão de leitura, ou se o definir tempo
e / ou setgid bits são definidos no arquivo, então o shell executa um agente cujo trabalho é
para configurar as permissões e executar o shell com o arquivo de comando do shell transmitido como
um arquivo aberto. Se o .caminhos contém uma linha do formulário nome=valor no primeiro ou segundo
linha, então a variável de ambiente nome é modificado acrescentando o diretório especificado
by valor para a lista de diretórios. Se valor não é um diretório absoluto, então especifica
um diretório relativo ao diretório em que o executável foi encontrado. Se o ambiente
variável nome ainda não existe, será adicionado à lista de ambientes para o
comando especificado. Um comando entre parênteses é executado em um sub-shell sem remover
variáveis não exportadas.
Command Reentrada.
O texto do último HISTORIAR (padrão 512) comandos inseridos a partir de um dispositivo terminal são
salvo em um história Arquivo. O arquivo $ HOME / .sh_history é usado se o ARQUIVO HISTÓRICO variável é
não definido ou se o arquivo que ele nomeia não é gravável. Um shell pode acessar os comandos de todos
interativo conchas que usam o mesmo nome ARQUIVO HISTÓRICO. O comando embutido hist é usado
para listar ou editar uma parte deste arquivo. A parte do arquivo a ser editada ou listada
pode ser selecionado por número ou dando o primeiro caractere ou caracteres do comando.
Um único comando ou intervalo de comandos pode ser especificado. Se você não especificar um editor
programa como um argumento para hist então o valor da variável HISTÓRICO é usado. Se
HISTÓRICO não está definida, a variável obsoleta EDITAR é usado. Se EDITAR não está definido, então
/ usr / bin / ex é usado. O (s) comando (s) editado (s) é (são) impresso (s) e reexecutado ao sair do
editor, a menos que você saia sem escrever. o -s opção (e em versões obsoletas, o
nome do editor -) é usado para pular a fase de edição e para reexecutar o comando. Nisso
caso um parâmetro de substituição do formulário velho=novo pode ser usado para modificar o comando antes
execução. Por exemplo, com o alias predefinido r, que tem o alias de ′ Hist -s ′, digitando `r
mau = bom c'irá reexecutar o comando mais recente que começa com a letra c,
substituindo a primeira ocorrência da string ruim com a corda Bom estado, com sinais de uso.
Na linha Edição Opções.
Normalmente, cada linha de comando inserida a partir de um dispositivo terminal é simplesmente digitada seguida por um
nova linha (`RETORNAR 'ou` ALIMENTAÇÃO DE LINHA'). Se o emacs, gmacs, ou vi opção está ativa,
o usuário pode editar a linha de comando. Estar em qualquer um desses modos de edição conjunto da
opção correspondente. Uma opção de edição é selecionada automaticamente cada vez que o VISUAL or
EDITOR variável recebe um valor que termina em qualquer um desses nomes de opção.
Os recursos de edição exigem que o terminal do usuário aceite `RETURN 'como retorno de carro
sem avanço de linha e que um espaço (`') deve sobrescrever o caractere atual no
tela.
A menos que o multilinha opção está ligada, os modos de edição implementam um conceito onde o usuário está
olhando por uma janela para a linha atual. A largura da janela é o valor de COLUNAS if
é definido, caso contrário, 80. Se a largura da janela for muito pequena para exibir o prompt e
deixe pelo menos 8 colunas para inserir a entrada, o prompt será truncado da esquerda. Se o
linha é maior do que a largura da janela menos dois, uma marca é exibida no final do
janela para notificar o usuário. Conforme o cursor se move e atinge os limites da janela, o
a janela será centralizada sobre o cursor. A marca é um > (<, *) se a linha se estende em
o (s) lado (s) direito (esquerdo, ambos) da janela.
Os comandos de pesquisa em cada modo de edição fornecem acesso ao arquivo de histórico. Apenas strings
são correspondidos, não padrões, embora um líder ^ na string restringe a correspondência para começar
no primeiro caractere da linha.
Cada um dos modos de edição tem uma operação para listar os arquivos ou comandos que correspondem a um
palavra parcialmente inserida. Quando aplicado à primeira palavra da linha ou à primeira palavra
depois de um ;, ⎪, &, ou (, e a palavra não começa com ~ ou contém um /, a lista de
aliases, funções e comandos executáveis definidos pelo PATH variável que poderia corresponder
a palavra parcial é exibida. Caso contrário, a lista de arquivos que correspondem à palavra dada é
exibido. Se a palavra parcialmente inserida não contiver nenhum caractere de expansão de arquivo,
a * é anexado antes de gerar essas listas. Depois de exibir a lista gerada, o
linha de entrada é redesenhada. Essas operações são chamadas de listagem de nomes de comando e nome de arquivo
listagem, respectivamente. Existem operações adicionais, chamadas de nome de comando
conclusão e conclusão do nome do arquivo, que calcula a lista de comandos ou arquivos correspondentes,
mas em vez de imprimir a lista, substitua a palavra atual por uma completa ou parcial
partida. Para completar o nome do arquivo, se a correspondência for única, um / é anexado se o arquivo for um
diretório e um espaço é anexado se o arquivo não for um diretório. Caso contrário, o mais longo
prefixo comum para todos os arquivos correspondentes substitui a palavra. Para completar o nome do comando,
apenas a parte dos nomes dos arquivos após o último / são usados para encontrar o comando mais longo
prefixo. Se apenas um único nome corresponder a este prefixo, a palavra será substituída pelo
nome do comando seguido por um espaço. Ao usar um aba para a conclusão que não produz um
correspondência única, uma subsequente aba fornecerá uma lista numerada de alternativas correspondentes. UMA
a seleção específica pode ser feita inserindo o número de seleção seguido por um aba.
Chave Ligações.
O TECLADO O trap pode ser usado para interceptar as chaves à medida que são digitadas e alterar os caracteres
que são realmente vistos pelo shell. Esta armadilha é executada após cada caractere (ou
seqüência de caracteres quando o primeiro caractere é ESC) é inserido durante a leitura de um
terminal. A variável .sh.edchar contém o caractere ou sequência de caracteres que
gerou a armadilha. Mudando o valor de .sh.edchar na ação de armadilha faz com que o shell
comportar-se como se o novo valor tivesse sido inserido no teclado ao invés do original
valor.
A variável .sh.edcol é definido como o número da coluna de entrada do cursor no momento do
entrada. A variável .sh.edmode é definido como ESC quando em vi modo de inserção (veja abaixo) e é
caso contrário, null. Ao prefixar $ {. sh.editmode} a um valor atribuído a .sh.edchar ele vai
fazer com que o shell mude para o modo de controle se ainda não estiver neste modo.
Esta armadilha não é invocada para caracteres inseridos como argumentos para editar diretivas ou
enquanto lê a entrada para uma pesquisa de caractere.
Emacs Edição Mode.
Este modo é acessado ativando o emacs or gmacs opção. A única diferença
entre esses dois modos é a maneira como eles lidam ^T. Para editar, o usuário move o cursor para
o ponto que precisa de correção e, em seguida, insere ou exclui caracteres ou palavras conforme necessário.
Todos os comandos de edição são caracteres de controle ou sequências de escape. A notação para
caracteres de controle é acento circunflexo (^) seguido pelo personagem. Por exemplo, ^F é o
notação para controle F. Isso é inserido pressionando `f 'enquanto mantém pressionado` CTRL'
(chave de controle. A tecla `SHIFT 'é não depressivo. (A notação ^? indica o DEL
(excluir).)
A notação para sequências de escape é M- seguido por um personagem. Por exemplo, Mf
(pronuncia-se Meta f) é inserido pressionando ESC (ascii 033) seguido por `f '. (MF seria
seja a notação para ESC seguida por `SHIFT '(maiúsculo)` F'.)
Todos os comandos de edição operam de qualquer lugar na linha (não apenas no início). Nenhum
a tecla `RETURN 'nem a` LINE FEED' são inseridas após os comandos de edição, exceto quando indicado.
^F Mova o cursor para frente (direita) um caractere.
M- [C Mova o cursor para frente (direita) um caractere.
Mf Mova o cursor uma palavra para a frente. (O emacs a ideia do editor de uma palavra é uma seqüência de
caracteres consistindo apenas em letras, dígitos e sublinhados.)
^B Mova o cursor para trás (esquerda) um caractere.
M- [D Mova o cursor para trás (esquerda) um caractere.
Mb Mova o cursor uma palavra para trás.
^A Mova o cursor para o início da linha.
M- [H Mova o cursor para o início da linha.
^E Mova o cursor para o final da linha.
MINHA Mova o cursor para o final da linha.
^]carbonizar Mova o cursor para frente para o personagem carbonizar na linha atual.
M- ^]carbonizar Mova o cursor para trás até o caractere carbonizar na linha atual.
^ X ^ X Troque o cursor e marque.
apagar (Caractere de apagamento definido pelo usuário conforme definido pelo chiqueiro(1) comando, geralmente ^H or
#.) Exclua o caractere anterior.
próximo (Próximo caractere literal definido pelo usuário, conforme definido pelo chiqueiro(1) comando, ou ^V if
não definido.) Remove os recursos de edição do próximo personagem (se houver).
^D Exclua o personagem atual.
Md Exclua a palavra atual.
M- ^ H (Meta-backspace) Exclua a palavra anterior.
Mh Exclua a palavra anterior.
M- ^? (Meta-DEL) Excluir a palavra anterior (se o seu caractere de interrupção for ^? (DEL, o
padrão), então este comando não funcionará).
^T Transpõe o caractere atual com o caractere anterior e avança o cursor
emacs modo. Transpor dois caracteres anteriores em gmacs modo.
^C Capitalize o personagem atual.
Mc Capitalize a palavra atual.
Ml Altere a palavra atual para minúsculas.
^K Exclua do cursor até o final da linha. Se precedido por um numérico
parâmetro cujo valor é menor do que a posição atual do cursor, em seguida, exclua de
dada posição até o cursor. Se precedido por um parâmetro numérico cujo
valor é maior do que a posição atual do cursor, exclua do cursor até
dada posição do cursor.
^W Mate do cursor até a marca.
Mp Empurre a região do cursor para a marca na pilha.
matar (Caractere kill definido pelo usuário conforme definido pelo comando stty, geralmente ^G or @.)
Mate toda a linha atual. Se dois matar caracteres são inseridos em sucessão,
todos os caracteres mortos a partir de então causam um avanço de linha (útil ao usar papel
terminais).
^Y Restaura o último item removido da linha. (Arrancar o item de volta à linha.)
^L Avanço de linha e impressão da linha atual.
M- ^ L Limpe a tela.
^@ (Caractere nulo) Definir marca.
M-espaço (Meta espaço) Definir marca.
^J (Nova linha) Execute a linha atual.
^M (Retornar) Executa a linha atual.
eof Caractere de fim de arquivo, normalmente ^D, é processado como um fim de arquivo apenas se o
a linha atual é nula.
^P Busca o comando anterior. Cada vez ^P é inserido o comando anterior em
o tempo é acessado. Retrocede uma linha quando não está na primeira linha de um multi
linha de comando.
M- [A Se o cursor estiver no final da linha, é equivalente a ^R com corda conjunto
para o conteúdo da linha atual. Caso contrário, é equivalente a ^ P.
M- Busque a linha de histórico menos recente (mais antiga).
M-> Busque a linha de história mais recente (mais jovem).
^N Busca a próxima linha de comando. Cada vez ^N é inserido na próxima linha de comando para a frente
com o tempo é acessado.
M- [B Equivalente a ^ N.
^Rcorda Histórico de pesquisa reversa para uma linha de comando anterior contendo corda. Se um
parâmetro de zero é fornecido, a pesquisa é para a frente. Tanga é encerrado por um
`RETORNAR 'ou` NOVA LINHA'. Se a string for precedida por um ^, a linha combinada deve
começar com corda. Se corda é omitido, então a próxima linha de comando contendo
o mais recente corda é acessado. Neste caso, um parâmetro de zero reverte
a direção da pesquisa.
^O Operate - executa a linha atual e busca a próxima linha em relação à atual
linha do arquivo de histórico.
M-dígitos (Escape) Defina o parâmetro numérico, os dígitos são tomados como um parâmetro para o
próximo comando. Os comandos que aceitam um parâmetro são ^F, ^B, apagar, ^C, ^D,
^K, ^R, ^P, ^N, ^], M-., M- ^], M-_, M- =, Mb, Mc, Md, Mf, Mh, Ml e M- ^ H.
M-carta Soft-key - Sua lista de apelidos é pesquisada por um apelido com o nome _carta e se
um alias com este nome é definido, seu valor será inserido na fila de entrada.
O carta não deve ser uma das meta-funções acima.
M- [carta Soft-key - Sua lista de apelidos é pesquisada por um apelido com o nome __carta e se
um alias com este nome é definido, seu valor será inserido na fila de entrada.
Isso pode ser usado para programar teclas de função em muitos terminais.
M-. A última palavra do comando anterior é inserida na linha. Se precedido por um
parâmetro numérico, o valor deste parâmetro determina qual palavra inserir
ao invés da última palavra.
M-_ Igual a M-..
M- * Tente gerar o nome do arquivo na palavra atual. Um asterisco é anexado se
a palavra não corresponde a nenhum arquivo ou contém caracteres especiais de padrão.
M-ESC Conclusão do comando ou nome do arquivo conforme descrito acima.
^I aba Tenta completar o comando ou o nome do arquivo conforme descrito acima. Se um parcial
a conclusão ocorre, repetindo isso vai se comportar como se M- = foram inseridos. Se não
correspondência é encontrada ou inserida após espaço, um aba é inserido.
M- = Se não for precedido por um parâmetro numérico, ele gera a lista de correspondência
comandos ou nomes de arquivo conforme descrito acima. Caso contrário, a palavra sob o cursor
é substituído pelo item correspondente ao valor do parâmetro numérico de
o comando ou lista de arquivos gerados mais recentemente. Se o cursor não estiver em um
palavra, ela é inserida em seu lugar.
^U Multiplique o parâmetro do próximo comando por 4.
\ Fuja do próximo personagem. Editar personagens, apagar, matar e interromper do usuário
(normalmente ^?) os caracteres podem ser inseridos em uma linha de comando ou em uma string de pesquisa
se precedido por um \. O \ remove os recursos de edição do próximo personagem (se
algum).
M- ^ V Exibir versão do shell.
M- # Se a linha não começar com um #, um # é inserido no início do
linha e após cada nova linha, e a linha é inserida. Isso faz com que um comentário para
ser inserido no arquivo de histórico. Se a linha começar com um #, # esta deletado
e um # após cada nova linha também é excluída.
Vi Edição Mode.
Existem dois modos de digitação. Inicialmente, quando você insere um comando, você está no entrada
modo. Para editar, o usuário insere ao controle modo digitando ESC (033) e move o cursor para
o ponto que precisa de correção e, em seguida, insere ou exclui caracteres ou palavras conforme necessário.
A maioria dos comandos de controle aceita uma repetição opcional contar antes do comando.
Quando em vi modo na maioria dos sistemas, o processamento canônico é inicialmente habilitado e o comando
será ecoado novamente se a velocidade for 1200 baud ou maior e contiver qualquer controle
caracteres ou menos de um segundo desde que o prompt foi impresso. O ESC
caractere termina o processamento canônico para o restante do comando e o usuário
pode então modificar a linha de comando. Este esquema tem as vantagens do processamento canônico
com o eco de digitação antecipada do modo bruto.
Se a opção vira também estiver definido, o terminal sempre terá processamento canônico
Desativado. Este modo está implícito para sistemas que não suportam dois finais de linha alternativos
delimitadores e podem ser úteis para determinados terminais.
Entrada Editar comandos
Por padrão, o editor está no modo de entrada.
apagar (Caractere de apagamento definido pelo usuário conforme definido pelo comando stty, geralmente ^H
or #.) Exclua o caractere anterior.
^W Exclua a palavra anterior separada em branco. Em alguns sistemas, o vira
pode ser necessária opção para que isso funcione.
eof Como o primeiro caractere da linha faz com que o shell seja encerrado, a menos que
da ignorar opção está definida. Caso contrário, este caractere será ignorado.
próximo (Próximo caractere literal definido pelo usuário, conforme definido pelo chiqueiro(1) ou ^V if
não definido.) Remove os recursos de edição do próximo personagem (se houver).
Em alguns sistemas, o vira pode ser necessária opção para que isso funcione.
\ Fuja do próximo apagar or matar personagem.
^I aba Tenta completar o comando ou o nome do arquivo conforme descrito acima e retorna
para o modo de entrada. Se ocorrer uma conclusão parcial, repetir isso irá
comporte-se como se = foram inseridos no modo de controle. Se nenhuma correspondência for encontrada ou
entrou depois espaço, um aba é inserido.
Movimento Editar comandos
Esses comandos moverão o cursor.
[contar]l O cursor avança (direita) um caractere.
[contar][C O cursor avança (direita) um caractere.
[contar]w O cursor avança uma palavra alfanumérica.
[contar]W Cursor para o início da próxima palavra que segue um espaço em branco.
[contar]e Cursor até o final da palavra.
[contar]E Cursor até o final da palavra atual delimitada em branco.
[contar]h Cursor para trás (esquerda) um caractere.
[contar][D Cursor para trás (esquerda) um caractere.
[contar]b Cursor uma palavra para trás.
[contar]B Cursor para a palavra anterior separada em branco.
[contar]⎪ Cursor para coluna contar.
[contar]fc Encontre o próximo personagem c na linha atual.
[contar]Fc Encontre o personagem anterior c na linha atual.
[contar]tc Equivalente a f seguido h.
[contar]Tc Equivalente a F seguido l.
[contar]; Repete contar vezes, o último comando de localização de caractere único, f, F, t, ou
T.
[contar], Inverte o comando de localização do último caractere único contar vezes.
0 Cursor para o início da linha.
^ Cursor para o início da linha.
[H Cursor até o primeiro caractere não vazio da linha.
$ Cursor até o fim da linha.
[Y Cursor até o fim da linha.
% Muda para o equilíbrio (, ), {, }, [, ou ]. Se o cursor não estiver em um dos
caracteres acima, o restante da linha é pesquisado pelo primeiro
ocorrência de um dos caracteres acima primeiro.
Pesquisar Editar comandos
Esses comandos acessam seu histórico de comandos.
[contar]k Busca o comando anterior. Cada vez k é inserido o comando anterior voltar
com o tempo é acessado.
[contar]- Equivalente a k.
[contar][A Se o cursor estiver no final da linha é equivalente a / com string ^ set
para da conteúdo of da atual linha. Caso contrário, é equivalente a k.
[contar]j Buscar o próximo comando. Cada vez j é inserido o próximo comando para a frente em
o tempo é acessado.
[contar]+ Equivalente a j.
[contar][B Equivalente a j.
[contar]G O número do comando contar é obtido. O padrão é o menos recente
comando de história.
/corda Pesquise no histórico para trás por um comando anterior contendo corda.
Tanga é encerrado por um `RETORNO 'ou` NOVA LINHA'. Se a string é precedida
por uma ^, a linha combinada deve começar com corda. Se corda é nulo, o
a string anterior será usada.
?corda Igual a / exceto que a pesquisa será na direção para frente.
n Pesquise a próxima correspondência do último padrão para / or ? comandos.
N Pesquise a próxima correspondência do último padrão para / or ?, mas ao contrário
direção.
Texto Modificação Editar comandos
Esses comandos irão modificar a linha.
a Entre no modo de entrada e insira o texto após o caractere atual.
A Acrescente texto ao final da linha. Equivalente a $a.
[contar]cmovimento
c[contar]movimento
Exclua o caractere atual através do caractere que movimento moveria o
cursor para e entrar no modo de entrada. Se movimento is c, toda a linha será
excluído e modo de entrada inserido.
C Exclua o caractere atual até o final da linha e insira a entrada
modo. Equivalente a c$.
S Equivalente a cc.
[contar]s Substitua os caracteres sob o cursor no modo de entrada.
D Exclua o caractere atual até o final da linha. Equivalente a d$.
[contar]dmovimento
d[contar]movimento
Exclua o caractere atual através do caractere que movimento mudaria para.
If movimento is d , toda a linha será excluída.
i Entre no modo de entrada e insira o texto antes do caractere atual.
I Insira o texto antes do início da linha. Equivalente a 0i.
[contar]P Coloque a modificação de texto anterior antes do cursor.
[contar]p Coloque a modificação de texto anterior após o cursor.
R Entre no modo de entrada e substitua os caracteres na tela pelos caracteres que você
tipo de sobreposição.
[contar]rc Substituir o contar caractere (s) começando na posição atual do cursor
com ce avance o cursor.
[contar]x Exclua o personagem atual.
[contar]X Exclua o caractere anterior.
[contar]. Repita o comando anterior de modificação de texto.
[contar]~ Inverta o caso do contar caractere (s) começando no cursor atual
posicione e avance o cursor.
[contar]_ Faz com que o contar palavra do comando anterior a ser acrescentada e inserida
modo inserido. A última palavra é usada se contar é omitido.
* Causa um * para ser anexado à palavra atual e geração de nome de arquivo
tentada. Se nenhuma correspondência for encontrada, ele toca a campainha. Caso contrário, a palavra
é substituído pelo padrão correspondente e o modo de entrada é inserido.
\ Conclusão do comando ou nome do arquivo conforme descrito acima.
Outros Editar comandos
Comandos diversos.
[contar]ymovimento
y[contar]movimento
Arranque o personagem atual através do personagem que movimento moveria o
cursor para e os coloca no buffer de exclusão. O texto e o cursor são
inalterado.
yy Puxa toda a linha.
Y Puxa da posição atual até o fim da linha. Equivalente a y$.
u Desfaça o último comando de modificação de texto.
U Desfaça todos os comandos de modificação de texto executados na linha.
[contar]v Retorna o comando hist -e $ {VISUAL: - $ {EDITOR: -vi}} contar na entrada
amortecedor. Se contar é omitido, então a linha atual é usada.
^L Avanço de linha e impressão da linha atual. Tem efeito apenas no modo de controle.
^J (Nova linha) Executa a linha atual, independentemente do modo.
^M (Retornar) Executa a linha atual, independente do modo.
# Se o primeiro caractere do comando for um #, então este comando exclui
esse # e cada # que segue uma nova linha. Caso contrário, envia a linha
depois de inserir um # na frente de cada linha do comando. Útil para
fazendo com que a linha atual seja inserida no histórico como um comentário e
descomentar comandos previamente comentados no arquivo de histórico.
[contar]= If contar não é especificado, ele gera a lista de comandos correspondentes ou
nomes de arquivo conforme descrito acima. Caso contrário, a palavra sob o cursor
é substituído pelo contar item do comando gerado mais recentemente ou
lista de arquivos. Se o cursor não estiver em uma palavra, ela será inserida.
@carta Sua lista de apelidos é pesquisada por um apelido com o nome _carta e se um
alias deste nome é definido, seu valor será inserido na entrada
fila para processamento.
^V Exibir versão do shell.
Autenticador Comandos.
Os seguintes comandos simples são executados no processo shell. Redirecionamento de entrada / saída
é permitido. Salvo indicação em contrário, a saída é escrita no descritor de arquivo 1 e
o status de saída, quando não há erro de sintaxe, é zero. Exceto por :, verdadeiro, falso, eco,
novogrp e entrar, todos os comandos integrados aceitam -- para indicar o fim das opções. Eles também
interpretar a opção --cara como um pedido para exibir a página do manual no erro padrão e -?
como um pedido de ajuda que imprime um uso mensagem sobre o erro padrão. Comandos que são
precedidos por um ou dois símbolos † são comandos embutidos especiais e são tratados de maneira especial
das seguintes maneiras:
1. As listas de atribuição de variáveis que precedem o comando permanecem em vigor quando o comando
completa.
2. Os redirecionamentos de E / S são processados após as atribuições de variáveis.
3. Os erros fazem com que um script que os contém seja abortado.
4. Eles não são nomes de função válidos.
5. Palavras após um comando precedido por †† que estão no formato de uma variável
atribuições são expandidas com as mesmas regras de uma atribuição de variável. Isso significa
essa substituição de til é realizada após o = sinal e divisão de campo e arquivo
geração de nome não é executada. Estes são chamados declaração embutidos.
† : [ arg ...]
O comando apenas expande os parâmetros.
† . nome [ arg ... ]
If nome é uma função definida com o função nome sintaxe de palavra reservada, o
função é executada no ambiente atual (como se tivesse sido definida com o
nome() sintaxe.) Caso contrário, se nome refere-se a um arquivo, o arquivo é lido em seu
por completo e os comandos são executados no ambiente de shell atual. o
caminho de busca especificado por PATH é usado para localizar o diretório que contém o arquivo.
Se houver algum argumento arg são fornecidos, eles se tornam os parâmetros posicionais, enquanto
processando o . comando e os parâmetros posicionais originais são restaurados após
conclusão. Caso contrário, os parâmetros posicionais permanecem inalterados. O status de saída é
o status de saída do último comando executado.
† † aliás [ -ptx ] [ nome[ =valor ]] ...
aliás sem argumentos imprime a lista de apelidos no formulário nome = valor on
saída padrão. o -p opção faz com que a palavra aliás para ser inserido antes de cada
XNUMX. Quando um ou mais argumentos são fornecidos, um aliás é definido para cada nome de quem
valor é dada. Um espaço à direita em valor faz com que a próxima palavra seja verificada
substituição de alias. O obsoleto -t opção é usada para definir e listar rastreados
apelido. O valor de um alias rastreado é o nome do caminho completo correspondente ao
dado nome. O valor torna-se indefinido quando o valor de PATH é reiniciado, mas o
o alias permanece rastreado. Sem o -t opção, para cada nome na lista de argumentos
para o qual não valor é fornecido, o nome e o valor do alias são impressos. o
obsoleto -x opção não tem efeito. O status de saída é diferente de zero se um nome é dada,
mas nenhum valor, e nenhum alias foi definido para o nome.
bg [ trabalho...]
Este comando está disponível apenas em sistemas que oferecem suporte ao controle de tarefas. Coloca cada especificado trabalho
em segundo plano. O trabalho atual é colocado em segundo plano se trabalho não é
Especificadas. Ver Empregos para uma descrição do formato de trabalho.
† quebrar [ n ]
Saia do recinto for, enquanto, até, ou selecionar loop, se houver. Se n is
especificado, então quebre n níveis.
builtin [ -ds ] [ -f lima ] [ nome ...]
If nome não é especificado, e não -f opção é especificada, os embutidos são impressos
na saída padrão. O -s opção imprime apenas os embutidos especiais. De outra forma,
cada nome representa o nome do caminho cujo nome de base é o nome do integrado. O
o nome da função do ponto de entrada é determinado pelo prefixo b_ ao nome integrado. UMA
embutido especificado por um nome de caminho só será executado quando esse nome de caminho for
encontrado durante a pesquisa de caminho. Integrados encontrados em bibliotecas carregadas por meio do .caminhos
arquivo será associado ao nome do caminho do diretório que contém o .caminhos
arquivo.
O protótipo ISO C / C ++ é b_meu comando(int argumento, carbonizar *argumento[], anular *contexto) para o
comando embutido meu comando onde argumento é uma matriz de argumento elementos e contexto é um
ponteiro opcional para um Shell_t estrutura conforme descrito em .
Os built-ins especiais não podem ser vinculados a um nome de caminho ou excluídos. O -d opção exclui cada um
os embutidos fornecidos. Em sistemas que suportam carregamento dinâmico, o -f a opção nomeia um
biblioteca compartilhada contendo o código para internos. O prefixo da biblioteca compartilhada e / ou
sufixo, que depende do sistema, pode ser omitido. Depois que uma biblioteca é carregada, seus símbolos
tornam-se disponíveis para invocações subsequentes de builtin. Várias bibliotecas podem ser
especificado com invocações separadas do builtin comando. Bibliotecas são pesquisadas no
ordem inversa em que são especificados. Quando uma biblioteca é carregada, ela procura por um
função na biblioteca cujo nome é lib_init () e invoca esta função com um
argumento de 0.
cd [ -LP ] [ arg ]
cd [ -LP ] velho novo
Este comando pode ter duas formas. Na primeira forma, ele muda o
diretório atual para arg. Se arg is - o diretório é alterado para o anterior
diretório. A variável shell INICIO é o padrão arg. A variável PWD está definido para
o diretório atual. A variável shell CDPATH define o caminho de pesquisa para o
diretório contendo arg. Nomes de diretórios alternativos são separados por dois pontos
(:) O caminho padrão é (especificando o diretório atual). Observe que o
o diretório atual é especificado por um nome de caminho nulo, que pode aparecer imediatamente
após o sinal de igual ou entre os delimitadores de dois pontos em qualquer outro lugar no caminho
Lista. Se arg começa com um / então o caminho de pesquisa não é usado. Caso contrário, cada
diretório no caminho é pesquisado arg.
A segunda forma de cd substitui a corda novo para a corda velho na corrente
nome do diretório, PWDe tenta mudar para este novo diretório.
Por padrão, os nomes dos links simbólicos são tratados literalmente ao encontrar o diretório
nome. Isso é equivalente ao -L opção. O -P opção faz com que links simbólicos para
ser resolvido ao determinar o diretório. A última instância de -L or -P na
a linha de comando determina qual método é usado.
O cd comando não pode ser executado por rksh. rksh93.
comando [ -pvxV ] nome [ arg ...]
Sem o -v or -V opções, comando executado nome com os argumentos dados por
arg. O -p opção faz com que um caminho padrão seja pesquisado em vez daquele
definido pelo valor de PATH. As funções não serão pesquisadas ao encontrar
nome. Além disso, se nome refere-se a um embutido especial, nenhum dos especiais
propriedades associadas às adagas líderes serão homenageadas. (Por exemplo, o
alias predefinido redirecionar = ′ comando exec ′ impede que um script termine quando um
redirecionamento inválido é fornecido.) Com o -x opção, se a execução do comando fosse
resultar em uma falha porque há muitos argumentos, errno E2BIG, A concha
irá invocar o comando nome várias vezes com um subconjunto de argumentos em cada
invocação. Argumentos que ocorrem antes da primeira palavra que se expande para vários
argumentos e após a última palavra que se expande para vários argumentos serão passados
em cada invocação. O status de saída será o status de saída de chamada máxima.
Com o -v opção, comando é equivalente ao embutido donde comando descrito
abaixo de. O -V opção causa comando agir como donde -v.
† continuar [ n ]
Retomar a próxima iteração do anexo for, enquanto, até, ou selecionar ciclo. Se n
é especificado e, em seguida, retome no n-ésimo loop envolvente.
renegar [ trabalho...]
Faz com que o shell não envie um sinal HUP para cada um dos trabalho, ou todos os trabalhos ativos se
trabalho é omitido, quando um shell de login termina.
eco [ arg ...]
Quando o primeiro arg não começa com -, e nenhum dos argumentos contém um \,
então eco imprime cada um de seus argumentos separados por um espaço e terminados por um
nova linha. Caso contrário, o comportamento de eco é dependente do sistema e impressão or printf
descrito abaixo deve ser usado. Ver eco(1) para uso e descrição.
† † enumerar [ -i ] tipo[= (valor ...)]
Cria um comando de declaração chamado tipo que é um tipo inteiro que permite um dos
o especificado valors como nomes de enumeração. Se =(valor ...) é omitido, então tipo
deve ser uma variável de matriz indexada com pelo menos dois elementos e os valores são
retirado desta variável de matriz. Se -i é especificado os valores são maiúsculas
insensível.
† avaliação [ arg ...]
Os argumentos são lidos como entrada para o shell e os comandos resultantes são executados.
† exec [ -c ] [ -a nome ] [ arg ...]
If arg é fornecido, o comando especificado pelos argumentos é executado no lugar de
este shell sem criar um novo processo. O -c opção faz com que o ambiente
ser apagado antes de aplicar as atribuições de variáveis associadas ao exec
invocação. O -a opção causa nome ao invés do primeiro arg, tornar-se argv [0]
para o novo processo. Argumentos de entrada / saída podem aparecer e afetar o atual
processar. Se arg não é fornecido, o efeito deste comando é modificar o arquivo
descritores conforme prescrito pela lista de redirecionamento de entrada / saída. Neste caso, qualquer
números do descritor de arquivo maiores que 2 que são abertos com este mecanismo são
fechado ao chamar outro programa.
† saída [ n ]
Faz com que o shell saia com o status de saída especificado por n. O valor será
os 8 bits menos significativos do status especificado. Se n é omitido, então o
o status de saída é o do último comando executado. Um fim de arquivo também causará
o shell para sair, exceto para um shell que tem o ignorar opção (ver conjunto abaixo)
ligadas.
† † exportar [ -p ] [ nome[=valor]] ...
If nome não é fornecido, os nomes e valores de cada variável com a exportação
atributo são impressos com os valores citados de uma maneira que permite que eles sejam re-
entrada. O exportar comando é o mesmo que formatado -x exceto que se você usar exportar
dentro de uma função, nenhuma variável local é criada. O -p opção faz com que a palavra
exportar a ser inserido antes de cada um. Caso contrário, o dado nomes são marcados para
exportação automática para o meio Ambiente de comandos executados posteriormente.
falso Não faz nada e sai de 1. Usado com até para loops infinitos.
fg [ trabalho...]
Este comando está disponível apenas em sistemas que oferecem suporte ao controle de tarefas. Cada trabalho especificado é
trazido para o primeiro plano e aguardado na ordem especificada. Caso contrário, o
o trabalho atual é colocado em primeiro plano. Ver Empregos para uma descrição do
formato de trabalho.
getconf [ nome [ pathname ]]
Imprime o valor atual do parâmetro de configuração fornecido por nome. O
os parâmetros de configuração são definidos pelo IEEE POSIX 1003.1 e IEEE POSIX 1003.2
padrões. (Ver caminhoconf(2) e sysconf(2).) O pathname argumento é requerido
para parâmetros cujo valor depende da localização no sistema de arquivos. Se não
argumentos são dados, getconf imprime os nomes e valores do atual
parâmetros de configuração. O nome do caminho / é usado para cada um dos parâmetros que
exige pathname.
obter opções [ -a nome ] string de opção vnome [ arg ...]
Cheques arg para opções legais. Se arg é omitido, os parâmetros posicionais são
usava. Um argumento de opção começa com um + ou um -. Uma opção que não começa com +
or - ou o argumento -- termina as opções. Opções começando com + são somente
reconhecido quando string de opção começa com um +. string de opção contém as letras que
obter opções reconhece. Se uma letra é seguida por um :, espera-se que essa opção
ter um argumento. As opções podem ser separadas do argumento por espaços em branco. O
opção -? causas obter opções para gerar uma mensagem de uso no erro padrão. O -a
argumento pode ser usado para especificar o nome a ser usado para a mensagem de uso, que
o padrão é $0.
obter opções coloca a próxima letra de opção que encontrar dentro da variável vnome cada vez que
é invocado. A carta de opção será anexada com um + quando arg começa com um +.
O índice do próximo arg é armazenado em OPTINDO. O argumento da opção, se houver, obtém
armazenado em OPTARG.
Uma liderança : in string de opção causas obter opções para armazenar a letra de uma opção inválida em
OPTARG, e para definir vnome para ? para uma opção desconhecida e para : quando um necessário
o argumento de opção está faltando. De outra forma, obter opções imprime uma mensagem de erro. A saída
o status é diferente de zero quando não há mais opções.
Não há como especificar qualquer uma das opções :, +, -, ?, [ e ]. A opção #
só pode ser especificado como a primeira opção.
hist [ -e nomear ] [ -nlr ] [ primeiro [ último ]]
hist -s [ velho=novo ] [ comando ]
Na primeira forma, uma série de comandos de primeiro para último é selecionado do último
HISTORIAR comandos que foram digitados no terminal. Os argumentos primeiro e último
pode ser especificado como um número ou como uma string. Uma string é usada para localizar a maioria
comando recente começando com a string fornecida. Um número negativo é usado como um
deslocamento para o número do comando atual. Se o -l opção é selecionada, os comandos
estão listados na saída padrão. Caso contrário, o programa editor nomear é invocado em um
arquivo contendo esses comandos de teclado. Se nomear não é fornecido, então o valor
da variável HISTÓRICO é usado. Se HISTÓRICO não está definido, então EDITAR (padrão
/ usr / bin / ex) é usado como editor. Quando a edição estiver concluída, o editado
comando (s) é executado se as alterações foram salvas. Se último não é especificado,
então será definido para primeiro. Se primeiro não é especificado, o padrão é o
comando anterior para edição e -16 para listagem. A opção -r inverte a ordem
dos comandos e a opção -n suprime os números do comando ao listar. No
segunda forma, comando é interpretado como primeiro descrito acima e o padrão é o
último comando executado. O comando resultante é executado após o opcional
substituição velho=novo é realizado.
empregos [ -lnp ] [ trabalho ...]
Lista informações sobre cada trabalho fornecido; ou todos os trabalhos ativos se trabalho é omitido. o
-l opção lista IDs de processo, além das informações normais. O -n opção
exibe apenas trabalhos que foram interrompidos ou encerrados desde a última notificação. O -p opção
faz com que apenas o grupo de processos seja listado. Ver Empregos para uma descrição do
formato de trabalho.
matar [ -s nome de assinatura ] trabalho ...
matar [ -n assinar ] trabalho ...
matar -L [ sig ...]
Envia o sinal TERM (término) ou o sinal especificado para o
trabalhos ou processos. Os sinais são dados por número com o -n opção ou por
nome com o -s opção (conforme fornecido em , sem o prefixo `` SIG ''
com a exceção de que SIGCLD é denominado CHLD). Para compatibilidade com versões anteriores, o n
e s pode ser omitido e o número ou nome colocado imediatamente após o -. Se o
o sinal que está sendo enviado é TERM (encerrar) ou HUP (desligar), então o trabalho ou processo irá
ser enviado um sinal CONT (continuar) se for interrompido. O argumento trabalho pode ser o
ID de processo de um processo que não é membro de uma das tarefas ativas. Ver Empregos
para uma descrição do formato de trabalho. Na terceira forma, matar -l, ou matar -L, Se
sig não for especificado, os nomes dos sinais serão listados. O -l lista de opções apenas o
nomes de sinais. -L opções lista cada nome de sinal e número correspondente.
Caso contrário, para cada sig isto é um nome, o número do sinal correspondente é listado.
Para cada sig isto é um número, o nome do sinal correspondendo ao menos
8 bits significativos de sig está listado.
deixar arg ...
Cada arg é um separado aritmética expressão a ser avaliada. deixar apenas reconhece
constantes octais começando com 0 quando o conjunto opção letoctal está ligado. Ver Aritmética
Avaliação acima, para uma descrição da avaliação da expressão aritmética.
O status de saída é 0 se o valor da última expressão for diferente de zero e 1
de outra forma.
† novogrp [ arg ...]
Equivalente a exec / bin / newgrp arg ....
impressão [ -CRenprsv ] [ -u unidade] [ -f formato ] [ arg ...]
Sem opções ou com opção - or --, Cada arg é impresso na saída padrão.
O -f opção faz com que os argumentos sejam impressos conforme descrito por printf. Neste
caso, qualquer e, n, r, R opções são ignoradas. Caso contrário, a menos que o -C, -R, -r, ou -v
forem especificados, as seguintes convenções de escape serão aplicadas:
\a O personagem de alerta (ascii 07).
\b O caractere de retrocesso (ascii 010).
\c destaque impressão terminar sem processar mais argumentos e não adicionar um novo
linha.
\f O personagem formfeed (ascii 014).
\n O caractere de nova linha (ascii 012).
\r O caractere de retorno de carro (ascii 015).
\t O caractere de tabulação (ascii 011).
\v O caractere de tabulação vertical (ascii 013).
\E O caractere de escape (ascii 033).
\\ O caractere de barra invertida \.
\0x O caractere definido pela string octal de 1, 2 ou 3 dígitos fornecida por x.
O -R opção irá imprimir todos os argumentos e opções subsequentes, exceto -n. O
-e faz com que as convenções de escape acima sejam aplicadas. Este é o padrão
comportamento. Ele reverte o efeito de um anterior -r. O -p opção faz com que o
argumentos a serem escritos no tubo do processo gerado com ⎪ & em vez de
saída padrão. o -v opção trata cada arg como um nome de variável e escreve o
valor no printf %B formato. O -C opção trata cada arg como um nome de variável
e escreve o valor no printf % # B formato. O -s opção faz com que os argumentos
para ser gravado no arquivo de histórico em vez de na saída padrão. O -u opção pode
ser usado para especificar um número de unidade do descritor de arquivo de um dígito unidade em que a saída
vai ser colocado. O padrão é 1. Se a opção -n é usado, não nova linha Está adicionado
para a saída.
printf formato [ arg ...]
Os argumentos arg são impressos na saída padrão de acordo com o ANSI-C
regras de formatação associadas à string de formato formato. Se o número de
argumentos excede o número de especificações de formato, o formato string é reutilizada
para formatar os argumentos restantes. As seguintes extensões também podem ser usadas:
%b A %b formato pode ser usado em vez de %s para causar sequências de escape no
correspondente arg a ser expandido conforme descrito em impressão.
%B A %B opção faz com que cada um dos argumentos sejam tratados como nomes de variáveis e
o valor binário da variável será impresso. A bandeira alternativa # causa um
variável composta a ser produzida em uma única linha. Isso é mais útil para
variáveis compostas e variáveis cujo atributo é -b.
%H A %H formato pode ser usado em vez de %s para causar personagens em arg Que é
especial em HTML e XML para ser gerado como seu nome de entidade. O suplente
bandeira # formata a saída para uso como um URI.
%P A %P formato pode ser usado em vez de %s causar arg para ser interpretado como um
expressão regular estendida e ser impressa como um padrão de shell.
%R A %R formato pode ser usado em vez de %s causar arg para ser interpretado como um
padrão do shell e para ser impresso como uma expressão regular estendida.
%q A %q formato pode ser usado em vez de %s para fazer com que a string resultante seja
citado de uma maneira que pode ser reintroduzido no shell. Quando q é precedido por
o especificador de formato alternativo, #, a string é citada de maneira adequada
como um campo em um . Csv arquivo de formato.
%(Formato de data)T
A %(Formato de data)T formato pode ser usado para tratar um argumento como uma data / hora
string e para formatar a data / hora de acordo com o Formato de data como definido
para o dados(1) comando.
%Z A %Z formato produzirá um byte cujo valor é 0.
%d O campo de precisão do %d formato pode ser seguido por um . e a saída
base. Neste caso, o # sinalizar causas de personagem base# a ser prefixado.
# O # bandeira, quando usado com o %d formato sem uma base de saída, exibe
a saída em potências de 1000 indicada por um dos seguintes sufixos: k M
G T P E, e quando usado com o %i formato exibe a saída em potências de
1024 indicado por um dos seguintes sufixos: Ki Mi Gi Ti Pi Ei.
= O = flag centraliza a saída dentro da largura de campo especificada.
L O L bandeira, quando usado com o %c or %s formatos, trata a precisão como
largura de caracteres em vez de contagem de bytes.
, O , bandeira, quando usado com o %d or %f formatos, separa grupos de dígitos
com o delimitador de agrupamento (, em grupos de 3 na localidade C.)
pwd [ -LP ]
Exibe o valor do diretório de trabalho atual. O -L opção é o padrão;
ele imprime o nome lógico do diretório atual. Se o -P opção é dada,
todos os links simbólicos são resolvidos a partir do nome. A última instância de -L or -P on
a linha de comando determina qual método é usado.
ler [ -ACSPrsv ] [ -d delim] [ -n n] [[ -N n] [[ -t tempo limite] [ -u unidade] [ vnome?pronto
] [ vnome ...]
O mecanismo de entrada do shell. Uma linha é lida e dividida em campos usando o
personagens em IFS como separadores. O personagem de escape, \, é usado para remover qualquer
significado especial para o próximo caractere e para a continuação da linha. O -d opção
faz com que a leitura continue para o primeiro caractere de delim em vez de nova linha.
O -n opção causa no máximo n bytes para ler uma linha inteira, mas retornará
ao ler de um dispositivo lento, assim que algum caractere for lido. O -N
opção causa exatamente n para ser lido, a menos que um fim de arquivo tenha sido encontrado ou
a leitura atinge o tempo limite por causa do -t opção. No modo bruto, -r, da \ personagem é
não tratado especialmente. O primeiro campo é atribuído ao primeiro vnome, o segundo
campo para o segundo vnome, etc., com campos restantes atribuídos ao último vnome.
Quando vnome tem o atributo binário e -n or -N é especificado, os bytes que são
read são armazenados diretamente na variável. Se o -v é especificado, então o valor
do primeiro vnome será usado como um valor padrão ao ler de um terminal
dispositivo. o -A opção faz com que a variável vnome a ser desmarcado e cada campo que é
lido para ser armazenado em elementos sucessivos da matriz indexada vnome. O -C opção
faz com que a variável vnome para ser lido como uma variável composta. Os espaços em branco serão
ignorado ao encontrar o parêntese de abertura inicial. A opção -S faz com que a linha
ser tratado como um registro em um . Csv formato de arquivo para que as aspas duplas possam ser usadas
para permitir que o caractere delimitador e o caractere de nova linha apareçam dentro de um
campo. o -p opção faz com que a linha de entrada seja retirada do tubo de entrada de um
processo gerado pelo shell usando ⎪ &. Se o -s opção estiver presente, a entrada
ser salvo como um comando no arquivo de histórico. A opção -u pode ser usado para especificar um
unidade de descritor de arquivo de um dígito unidade para ler. O descritor de arquivo pode ser
abriu com o exec comando embutido especial. O valor padrão da unidade n é 0.
A opção -t é usado para especificar um tempo limite em segundos ao ler de um terminal
ou tubo. Se vnome é omitido, então RESPOSTA é usado como padrão vnome. Fim de
arquivo com o -p opção causa limpeza para este processo para que outro possa ser
gerado. Se o primeiro argumento contém um ?, o restante desta palavra é usado como
a pronto no erro padrão quando o shell é interativo. O status de saída é 0
a menos que um fim de arquivo seja encontrado ou ler expirou.
† † somente leitura [ -p ] [ vnome[=valor]] ...
If vnome não é fornecido, os nomes e valores de cada variável com o somente leitura
atributo é impresso com os valores citados de uma maneira que permite que eles sejam novamente
introduzido. O -p opção faz com que a palavra somente leitura a ser inserido antes de cada um.
Caso contrário, o dado vnomes são marcados como somente leitura e esses nomes não podem ser alterados
por atribuição subsequente. Ao definir um tipo, se o valor de um sub-somente leitura
variável não está definida, o valor é necessário ao criar cada instância.
† retorno [ n ]
Causa um escudo função or . script para retornar ao script de chamada com a saída
status especificado por n. O valor será os 8 bits menos significativos do
status especificado. Se n é omitido, então o status de retorno é o do último
comando executado. Se retorno é invocado enquanto não está em um função ou um . roteiro,
então ele se comporta da mesma forma que saída.
† conjunto [ ± BCGabefhkmnoprstuvx ] [ ± o [ opção ]] ... [ ±A vnome ] [ arg ...]
As opções para este comando têm o seguinte significado:
-A Atribuição de matriz. Remova a variável vnome e atribuir valores sequencialmente
do arg Lista. Se +A é usado, a variável vnome não é desarmado primeiro.
-B Habilite a geração de campo de padrão de chave. Este é o comportamento padrão.
-B Habilite a expansão do grupo de chaves. Ativado por padrão.
-C Impede o redirecionamento > de truncar arquivos existentes. Arquivos que são
criados são abertos com o modo O_EXCL. Requer > ⎪ truncar um arquivo
quando ligado.
-G Causa o padrão ∗∗ por si só para combinar arquivos e zero ou mais diretórios
e subdiretórios quando usados para geração de nome de arquivo. Se seguido por um /
apenas diretórios e subdiretórios são correspondidos.
-a Todas as variáveis subsequentes definidas são exportadas automaticamente.
-b Imprime mensagens de conclusão de trabalho assim que um trabalho em segundo plano muda de estado
em vez de esperar pelo próximo prompt.
-e A menos que contido em um ⎪⎪ or && comando, ou o comando após um if
enquanto or até comando ou no pipeline seguindo !, se um comando tiver um
status de saída diferente de zero, execute o ERR armadilha, se configurada, e saia. Este modo é
desativado durante a leitura de perfis.
-f Desabilita a geração de nome de arquivo.
-h Cada comando se torna um alias rastreado quando encontrado pela primeira vez.
-k (Obsoleto). Todos os argumentos de atribuição de variável são colocados no ambiente
para um comando, não apenas aqueles que precedem o nome do comando.
-m Os trabalhos em segundo plano serão executados em um grupo de processos separado e uma linha será impressa
após a conclusão. O status de saída de trabalhos em segundo plano é relatado em um
mensagem de conclusão. Em sistemas com controle de trabalho, esta opção está ativada
automaticamente para shells interativos.
-n Leia os comandos e verifique se há erros de sintaxe, mas não os execute.
Ignorado para shells interativos.
-o O seguinte argumento pode ser um dos seguintes nomes de opção:
Allexport
Igual a -a.
errar Igual a -e.
bom Todos os trabalhos em segundo plano são executados com uma prioridade mais baixa. Isto é o
modo padrão.
braçadeira
Igual a -B.
emacs Te coloca em um emacs editor em linha de estilo para entrada de comando.
estrela glob
Igual a -G.
gmacs Te coloca em um gmacs editor em linha de estilo para entrada de comando.
ignorar
O shell não sairá no final do arquivo. O comando saída devemos ser
usava.
palavra chave Igual a -k.
letoctal
O deixar comando permite constantes octais começando com 0.
markdirs
Todos os nomes de diretório resultantes da geração de nome de arquivo têm um
à direita / anexado.
monitor Igual a -m.
multilinha
Os editores integrados usarão várias linhas na tela para
linhas que são mais longas do que a largura da tela. Isso pode não
trabalhar para todos os terminais.
nocturno
Igual a -C.
noexec Igual a -n.
noglob Igual a -f.
nolog Não salve as definições de função no arquivo de histórico.
notificar Igual a -b.
conjunto de substantivos Igual a -u.
falha na tubulação
Um pipeline não será concluído até que todos os componentes do pipeline
foram concluídos, e o valor de retorno será o valor do último
comando diferente de zero para falhar ou zero se nenhum comando falhou.
mostre-me Quando ativado, comandos simples ou pipelines precedidos por um ponto e vírgula
(;) será exibido como se o xtrace opção foi habilitada, mas irá
não ser executado. Caso contrário, o líder ; será ignorado.
privilegiado
Igual a -p.
detalhado Igual a -v.
rastrear tudo
Igual a -h.
vi Coloca você no modo de inserção de um vi editor in-line de estilo até que você acerte
o personagem de escape 033. Isso o coloca no modo de controle. Um retorno
envia a linha.
vira Cada caractere é processado à medida que é digitado em vi modo.
xtrace Igual a -x.
Se nenhum nome de opção for fornecido, as configurações de opção atuais serão
impresso.
-p Desativa o processamento do $ HOME / .profile arquivo e usa o arquivo
/ etc / suid_profile ao invés de ENV Arquivo. Este modo está ativado sempre que o
uid efetivo (gid) não é igual ao uid real (gid). Desligando isso
faz com que o uid e o gid efetivos sejam definidos como os reais uid e gid.
-r Ativa o shell restrito. Esta opção não pode ser desmarcada depois de definida.
-s Classifique os parâmetros posicionais lexicograficamente.
-t (Obsoleto). Saia após ler e executar um comando.
-u Trate os parâmetros não definidos como um erro ao substituí-los.
-v Imprime as linhas de entrada do shell à medida que são lidas.
-x Imprime comandos e seus argumentos à medida que são executados.
-- Não altere nenhuma das opções; útil na configuração $1 para um início de valor
com -. Se nenhum argumento seguir esta opção, então os parâmetros posicionais
não estão definidas.
Como um recurso obsoleto, se o primeiro arg is - então o -x e -v opções estão viradas
fora e o próximo arg é tratado como o primeiro argumento. Usando + em vez de -
faz com que essas opções sejam desativadas. Essas opções também podem ser usadas em
invocação do shell. O conjunto atual de opções pode ser encontrado em $-. A não ser que -A
é especificado, os argumentos restantes são parâmetros posicionais e são atribuídos,
em ordem de $1 $2 .... Se nenhum argumento for fornecido, então os nomes e valores de
todas as variáveis são impressas na saída padrão.
† mudança [ n ]
Os parâmetros posicionais de $n+1 ... são renomeados $1 ... , padrão n é 1. O
parâmetro n pode ser qualquer expressão aritmética avaliada como não negativa
número menor ou igual a $#.
dormir segundo
Suspende a execução pelo número de segundos decimais ou frações de segundo determinado
by segundo.
† armadilha [ -p ] [ açao ] [ sig ] ...
O -p opção faz com que a ação trap associada a cada trap, conforme especificado pelo
argumentos a serem impressos com aspas apropriadas. De outra forma, açao será
processado como se fosse um argumento para avaliação quando o shell recebe sinal (es) sig.
Cada sig pode ser fornecido como um número ou como o nome do sinal. Comandos de armadilha são
executado na ordem do número do sinal. Qualquer tentativa de armar uma armadilha em um sinal que foi
ignorado na entrada para o shell atual é ineficaz. Se açao é omitido e o
primeiro sig é um número, ou se açao is -, então a (s) armadilha (s) para cada sig são reiniciados
aos seus valores originais. Se açao é a string nula, então este sinal é ignorado
pelo shell e pelos comandos que ele invoca. Se sig is ERR então açao será
executado sempre que um comando tem um status de saída diferente de zero. Se sig is DEBUG então
açao será executado antes de cada comando. A variável .sh.comando conterá
o conteúdo da linha de comando atual quando açao está correndo. Se a saída
status da armadilha é 2 o comando não será executado. Se o status de saída de
a armadilha é 255 e dentro de uma função ou script de ponto, a função ou script de ponto
retornará. Se sig is 0 or SAIR e armadilha declaração é executada dentro do
corpo de uma função definida com o função nome sintaxe, então o comando açao
é executado após a conclusão da função. Se sig is 0 or SAIR para uma armadilha conjunto
fora de qualquer função, então o comando açao é executado ao sair do shell.
If sig is TECLADO, Em seguida açao será executado sempre que uma chave for lida enquanto em
emacs, gmacs, ou vi modo. o armadilha comando sem argumentos imprime uma lista de
comandos associados a cada número de sinal.
An saída or retorno sem um argumento em uma ação trap preservará o status de saída de
o comando que invocou a armadilha.
verdadeiro Não faz nada e sai de 0. Usado com enquanto para loops infinitos.
† † formatado [ ± ACHSfblmnprtux ] [ ± EFLRXZi [n] ] [ + -M [ nome do mapa ] ] [ -T [
nome=(lista_de_atribuições) ] ] [ -h str ] [ -a [tipo] ] [ vnome[=valor ] ] ...
Define atributos e valores para variáveis e funções de shell. Quando invocado dentro
uma função definida com o função nome sintaxe, uma nova instância da variável
vnome é criado, e o valor e o tipo da variável são restaurados quando a função
completa. A seguinte lista de atributos pode ser especificada:
-A Declara vnome para ser uma matriz associativa. Subscritos são cadeias de caracteres, em vez
do que expressões aritméticas.
-C faz com que cada vnome para ser uma variável composta. valor nomeia um composto
variável em que é copiado vnome. Caso contrário, ele desativa cada vnome.
-a Declara vnome para ser uma matriz indexada. Se tipo é especificado, deve ser o
nome de um tipo de enumeração criado com o enumerar comando e permite
constantes de enumeração a serem usadas como subscritos.
-E Declara vnome para ser um número de ponto flutuante de precisão dupla. Se n é não-
zero, define o número de algarismos significativos que são usados quando
diversificada vnome. Caso contrário, dez algarismos significativos serão usados.
-F Declara vnome para ser um número de ponto flutuante de precisão dupla. Se n é não-
zero, define o número de casas após a vírgula que são usadas
ao expandir vnome. Caso contrário, dez casas após a vírgula serão
usava.
-H Esta opção fornece UNIX para mapeamento de arquivo de nome de host em máquinas não UNIX.
-L Justifique à esquerda e remova os espaços em branco iniciais de valor. Se n é diferente de zero,
define a largura do campo, caso contrário, é determinado pela largura de
o valor da primeira atribuição. Quando a variável é atribuída, é
preenchido à direita com espaços em branco ou truncado, se necessário, para caber no
campo. o -R opção está desligada.
-M Use o mapeamento de caracteres mapeamento definido por wctrans(3). tal como abaixar
e tupper ao atribuir um valor a cada um dos operandos especificados. Quando
mapeamento é especificado e não há operandos, todas as variáveis que usam este
mapeamento são gravados na saída padrão. Quando mapeamento é omitido e lá
não são operandos, todas as variáveis mapeadas são gravadas na saída padrão.
-R Justifique à direita e preencha com espaços em branco à esquerda. Se n é diferente de zero, define
a largura do campo, caso contrário, é determinado pela largura do valor
da primeira atribuição. O campo é deixado preenchido com espaços em branco ou truncado de
no final se a variável for reatribuída. O -L opção está desligada.
-S Quando usado dentro do lista_de_atribuições de uma definição de tipo, faz com que o
subvariável especificada a ser compartilhada por todas as instâncias do tipo. Quando usado
dentro de uma função definida com o função palavra reservada, a especificada
variáveis terão função estático alcance. Caso contrário, a variável não está definida
antes de processar a lista de atribuições.
-T Se seguido por nome, ele cria um tipo nomeado por nome usando o composto
atribuição lista_de_atribuições para nome. Caso contrário, ele grava todo o tipo
definições para saída padrão.
-X Declara vnome para ser um número de ponto flutuante de precisão dupla e se expande
usando o %a formato de ISO-C99. Se n é diferente de zero, define o número de
dígitos hexadecimais após o ponto raiz que é usado ao expandir vnome. O
o padrão é 10.
-Z Justifique à direita e preencha com zeros à esquerda se o primeiro caractere não em branco
é um dígito e o -L opção não foi definida. Remova os zeros à esquerda se o
-L opção também está definida. Se n é diferente de zero, define a largura do campo,
caso contrário, é determinado pela largura do valor da primeira atribuição.
-f Os nomes referem-se a nomes de funções em vez de nomes de variáveis. Não
atribuições podem ser feitas e as únicas outras opções válidas são -S, -t, -u e
-x. O -S pode ser usado com funções disciplinares definidas em um tipo para
indicam que a função é estática. Para uma função estática, o mesmo
método será usado por todas as instâncias desse tipo, não importa qual instância
faz referência a ele. Além disso, ele só pode usar o valor das variáveis do
definição de tipo original. Essas funções disciplinares não podem ser redefinidas em
qualquer tipo de instância. O -t opção ativa o rastreamento de execução para este
função. o -u opção faz com que esta função seja marcada como indefinida. O
FPATH variável será pesquisada para encontrar a definição da função quando o
função é referenciada. Se nenhuma opção diferente de -f é especificado, então o
a definição da função será exibida na saída padrão. Se +f is
especificado, em seguida, uma linha contendo o nome da função seguido por um shell
comentário contendo o número da linha e o nome do caminho do arquivo onde este
função foi definida, se houver, é exibida. O status de saída pode ser usado para
determinar se a função é definida para que formatado -f .sh.matemática.nome
retornará 0 quando a função matemática nome é definido e diferente de zero caso contrário.
-b A variável pode conter qualquer número de bytes de dados. Os dados podem ser texto ou
binário. O valor é representado pela codificação base64 dos dados. Se -Z
também for especificado, o tamanho em bytes dos dados no buffer será
determinado pelo tamanho associado ao -Z. Se a string base64
resultados atribuídos em mais dados, serão truncados. Caso contrário, será
preenchido com bytes cujo valor é zero. O printf formato %B pode ser usado para
produzir os dados reais neste buffer em vez da codificação base64 do
dados.
-h Usado nas definições de tipo para adicionar informações ao gerar informações
sobre a subvariável na página do manual. É ignorado quando usado fora de
uma definição de tipo. Quando usado com -f a informação está associada ao
função de disciplina correspondente.
-i Declara vnome a ser representado internamente como um número inteiro. O lado direito
de uma atribuição é avaliada como uma expressão aritmética ao atribuir a
um inteiro. Se n é diferente de zero, define a base aritmética de saída,
caso contrário, a base de saída será dez.
-l Usado com -i, -E or -F, para indicar inteiro longo ou flutuante longo. De outra forma,
todos os caracteres em maiúsculas são convertidos em minúsculas. As maiúsculas
opção, -u, está desligado. Equivalente a -M abaixar .
-m move ou renomeia a variável. O valor é o nome de uma variável cujo
valor será movido para vnome. A variável original não será definida. Não pode
ser usado com quaisquer outras opções.
-n Declara vnome para ser uma referência à variável cujo nome é definido por
o valor da variável vnome. Isso geralmente é usado para fazer referência a uma variável
dentro de uma função cujo nome foi passado como um argumento. Não pode ser usado
com quaisquer outras opções.
-p O nome, atributos e valores para o dado vnomes são escritos no padrão
saída em um formato que pode ser usado como entrada de shell. Se +p é especificado, então
os valores não são exibidos.
-r O dado vnomes são marcados como somente leitura e esses nomes não podem ser alterados por
atribuição subsequente.
-t Marca as variáveis. As tags são definidas pelo usuário e não têm nenhum significado especial para
A concha.
-u Quando dado junto com -i, especifica um inteiro sem sinal. Caso contrário, tudo inferior
caracteres de maiúsculas e minúsculas são convertidos em maiúsculas. A opção de minúsculas, -l, É
desligado. Equivalente a -M tupper .
-x O dado vnomes são marcados para exportação automática para o meio Ambiente of
comandos executados posteriormente. Variáveis cujos nomes contêm um . não podes
ser exportado.
O -i atributo não pode ser especificado junto com -R, -L, -Z, ou -f.
utilização + em vez de - faz com que essas opções sejam desativadas. Se não vnome argumentos
são fornecidos, uma lista de vnomes (e opcionalmente o valores) Do variáveis is
impresso. (Usando + em vez de - impede que os valores sejam impressos.) -p
opção causa formatado seguido pelas letras de opção a serem impressas antes de cada nome
em vez dos nomes das opções. Se alguma opção diferente de -p é dado, apenas
aquelas variáveis que possuem todas as opções fornecidas são impressas. Caso contrário, o
vnomeareia atributos de todos variáveis que possuem atributos são impressos.
ulimit [ -HSacdfmnpstv ] [ limitar ]
Defina ou exiba um limite de recursos. Os limites de recursos disponíveis estão listados abaixo.
Muitos sistemas não suportam um ou mais desses limites. O limite para um determinado
recurso é definido quando limitar é especificado. O valor de limitar pode ser um número no
unidade especificada abaixo com cada recurso, ou o valor ilimitado. O -H e -S
opções especificam se o limite rígido ou o limite flexível para um determinado recurso é
definir. Um limite rígido não pode ser aumentado depois de definido. Um limite suave pode ser
aumentado até o valor do limite rígido. Se nem o H nem S opção
especificado, o limite se aplica a ambos. O limite de recursos atual é impresso quando
limitar é omitido. Neste caso, o limite flexível é impresso, a menos que H é especificado.
Quando mais de um recurso é especificado, o nome do limite e a unidade são impressos
antes do valor.
-a Lista todos os limites de recursos atuais.
-c O número de blocos de 512 bytes no tamanho dos core dumps.
-d O número de K-bytes no tamanho da área de dados.
-f O número de blocos de 512 bytes em arquivos que podem ser gravados pelo atual
processo ou por processos filho (arquivos de qualquer tamanho podem ser lidos).
-m O número de K-bytes no tamanho da memória física.
-n O número de descritores de arquivo mais 1.
-p O número de blocos de 512 bytes para buffer de canal.
-s O número de K-bytes no tamanho da área de pilha.
-t O número de segundos da CPU a ser usado por cada processo.
-v O número de K-bytes para memória virtual.
Se nenhuma opção for dada, -f é assumido.
umask [ -S ] [ máscara ]
A máscara de criação de arquivo do usuário é definida como máscara (Vejo umask(2)). máscara pode ser um
número octal ou um valor simbólico conforme descrito em chmod(1). Se um valor simbólico é
dado, o novo valor umask é o complemento do resultado da aplicação máscara ao
complemento do valor umask anterior. Se máscara é omitido, o valor atual de
a máscara é impressa. O -S opção faz com que o modo seja impresso como um símbolo
valor. Caso contrário, a máscara é impressa em octal.
† Unalias [ -a ] nome ...
Os apelidos fornecidos pela lista de nomes são removidos da lista de apelidos. O -a
opção faz com que todos os aliases sejam desativados.
†não definido [ -fnv ] vnome ...
As variáveis fornecidas pela lista de vnomes não são atribuídos, ou seja, exceto para sub-
variáveis dentro de um tipo, seus valores e atributos são apagados. Para subvariáveis
de um tipo, os valores são redefinidos para o valor padrão da definição do tipo.
Variáveis somente leitura não podem ser desmarcadas. Se o -f opção é definida, então os nomes se referem
para função nomes. Se o -v opção é definida, então os nomes referem-se a variável
nomes. o -f substituições de opções -v. Se -n está definido e nome é uma referência de nome,
então nome não será definido em vez da variável que faz referência. O padrão
é equivalente a -v. Perturbador LINHO, VERIFICAÇÃO DE CORREIO, OPTARG, OPTINDO, RANDOM, SEGUNDOS,
TMOUT e _ remove seu significado especial, mesmo se eles forem atribuídos posteriormente
para.
esperar [ trabalho ...]
Espere pelo especificado trabalho e relatar seu status de encerramento. Se trabalho não é dado,
então, todos os processos filho ativos atualmente são aguardados. O status de saída de
este comando é o do último processo esperado se trabalho é especificado; de outra forma
é zero. Ver Empregos para uma descrição do formato de trabalho.
donde [ -afpv ] nome ...
Para cada nome, indique como ele seria interpretado se usado como um nome de comando.
O -v opção produz um relatório mais detalhado. O -f opção pula a busca por
funções. o -p opção faz uma busca por caminho nome mesmo se o nome for um alias, um
função ou uma palavra reservada. O -p opção desliga o -v opção. O -a
opção é semelhante ao -v opção, mas faz com que todas as interpretações do nome fornecido
a ser relatado.
Invocação.
Se o shell for invocado por exec(2), e o primeiro caractere do argumento zero ($0) é -,
então o shell é considerado um entrar shell e comandos são lidos de / etc / profile e
então de qualquer .perfil no diretório atual ou $ HOME / .profile, se qualquer um dos arquivos
existe. Em seguida, para shells interativos, os comandos são lidos a partir do arquivo nomeado executando
expansão de parâmetro, substituição de comando e substituição aritmética no valor do
variável de ambiente ENV se o arquivo existir. Se o -s opção não está presente e arg e
um arquivo com o nome de arg existe, então ele lê e executa este script. Caso contrário, se
o primeiro arg não contém um /, uma busca de caminho é realizada no primeiro arg para
determine o nome do script a ser executado. O roteiro arg deve ter permissão de execução
e qualquer definir tempo e setgid as configurações serão ignoradas. Se o script não for encontrado no
caminho, arg é processado como se nomeasse um comando ou função embutida. Os comandos são então
leia conforme descrito abaixo; as seguintes opções são interpretadas pelo shell quando é
invocado:
-D Não execute o script, mas produza o conjunto de strings entre aspas precedidas por
a $. Essas strings são necessárias para a localização do script para diferentes
local
-E Lê o arquivo nomeado pelo ENV variável ou por $ HOME /.kshrc se não definido após
os perfis.
-c Se o -c opção está presente, então os comandos são lidos a partir do primeiro arg. Qualquer
os argumentos restantes tornam-se parâmetros posicionais começando em 0.
-s Se o -s opção está presente ou se nenhum argumento permanecer, os comandos são lidos
da entrada padrão. Saída de shell, exceto para a saída do Destaque
comandos listado acima, é gravado no descritor de arquivo 2.
-i Se o -i opção está presente ou se a entrada e saída do shell estão anexadas a um
terminal (como dito por tcgetattr(2)), então esta casca é interativo. Neste
caso TERM é ignorado (para que matar 0 não mata um shell interativo) e
INTR é capturado e ignorado (de modo que esperar é ). Em todos os casos, QUIT é ignorado por
A concha.
-r Se o -r opção estiver presente, o shell é um shell restrito.
-D Uma lista de todas as strings entre aspas duplas precedidas por um $ será impresso em
saída padrão e o shell será encerrado. Este conjunto de strings estará sujeito a
tradução de idioma quando o local não é C ou POSIX. Nenhum comando será
executado.
-R nome do arquivo
O -R nome do arquivo opção é usada para gerar um banco de dados de referência cruzada que pode
ser usado por um utilitário separado para encontrar definições e referências para variáveis
e comandos.
As opções e argumentos restantes são descritos no conjunto comando acima. Um
opcional - pois o primeiro argumento é ignorado.
Rksh Somente.
Rksh é usado para configurar nomes de login e ambientes de execução cujas capacidades são mais
controlados do que aqueles do shell padrão. As ações de rksh são idênticos àqueles
of ksh, exceto que o seguinte não é permitido:
Desconfigurando a opção restrita.
mudando de diretório (ver cd(1)),
configurando ou desconfigurando o valor ou atributos de SHELL, ENV, FPATH, ou CAMINHO,
especificando nomes de caminho ou comando contendo /,
redirecionando a saída (>, >|, <> e >>).
adicionar ou excluir comandos embutidos.
utilização comando -p para invocar um comando.
As restrições acima são aplicadas após .perfil e ENV os arquivos são interpretados.
Quando um comando a ser executado é considerado um procedimento shell, rksh invoca ksh para
execute. Assim, é possível fornecer ao usuário final procedimentos shell que tenham
acesso a todo o poder do shell padrão, enquanto impõe um menu limitado de comandos;
este esquema assume que o usuário final não tem permissões de gravação e execução no
mesmo diretório.
O efeito líquido dessas regras é que o redator do .perfil tem controle completo sobre
ações do usuário, realizando ações de configuração garantidas e deixando o usuário em um
diretório apropriado (provavelmente não o diretório de login).
O administrador do sistema frequentemente configura um diretório de comandos (por exemplo, / usr / rbin) que pode
ser invocado com segurança por rksh.
SAIR STATUS
Erros detectados pelo shell, como erros de sintaxe, fazem com que o shell retorne um valor diferente de zero
status de saída. Se o shell estiver sendo usado de forma não interativa, a execução do shell
arquivo é abandonado a menos que o erro ocorra dentro de um subshell, caso em que o subshell é
abandonado. Caso contrário, o shell retorna o status de saída do último comando executado (ver
também o saída comando acima). Os erros de tempo de execução detectados pelo shell são relatados por
imprimir o comando ou nome da função e a condição de erro. Se o número da linha que
o erro ocorrido em é maior que um, então o número da linha também é impresso em quadrado
colchetes ([]) após o nome do comando ou função.
Use ksh93 online usando serviços onworks.net