InglêsFrancêsEspanhol

Ad


favicon do OnWorks

bash-static - Online na nuvem

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

Este é o comando bash-static 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


bash - GNU Bourne-Again SHell

SINOPSE


bater [opções] [command_string | Arquivo]

DIREITOS AUTORAIS


Bash é protegido por Copyright (C) 1989-2013 da Free Software Foundation, Inc.

DESCRIÇÃO


Bater é um sh- intérprete de linguagem de comando compatível que executa comandos lidos a partir do
entrada padrão ou de um arquivo. Bater também incorpora recursos úteis do Korn e C
cartuchos (ksh e csh).

Bater destina-se a ser uma implementação em conformidade da parte Shell e Utilitários do
a especificação IEEE POSIX (IEEE Standard 1003.1). Bater pode ser configurado para ser POSIX-
em conformidade por padrão.

OPÇÕES


Todas as opções de shell de um único caractere documentadas na descrição do conjunto
O comando embutido pode ser usado como opções quando o shell é invocado. Além disso, bater
interpreta as seguintes opções quando é invocado:

-c Se o -c opção está presente, então os comandos são lidos a partir da primeira opção
argumento string_de_comando. Se houver argumentos após o string_de_comando, Eles
são atribuídos aos parâmetros posicionais, começando com $0.
-i Se o -i opção está presente, o shell é interativo.
-l Realizar bater agir como se tivesse sido invocado como um shell de login (veja INVOCAÇÃO abaixo).
-r Se o -r opção está presente, o shell torna-se restringido (Vejo RESTRITO SHELL
abaixo).
-s Se o -s opção está presente, ou se nenhum argumento permanecer após o processamento da opção,
então os comandos são lidos a partir da entrada padrão. Esta opção permite o
parâmetros posicionais a serem definidos ao invocar um shell interativo.
-D Uma lista de todas as strings entre aspas precedidas por $ é impresso no padrão
saída. Estas são as strings que estão sujeitas à tradução de idioma quando o
localidade atual não é C or POSIX. Isso implica o -n opção; nenhum comando vai
ser executado.
[- +] O [opção_shopt]
opção_shopt é uma das opções de shell aceitas pelo comprar embutido (ver
SHELL CONSTRUÍDAS EM COMANDOS abaixo). Se opção_shopt é presente, -O define o valor de
essa opção; +O desarma. Se opção_shopt não é fornecido, os nomes e
valores das opções de shell aceitos por comprar são impressos no padrão
saída. Se a opção de invocação for +O, a saída é exibida em um formato
que pode ser reutilizado como entrada.
-- A -- sinaliza o fim das opções e desativa o processamento adicional de opções. Algum
argumentos após o -- são tratados como nomes de arquivos e argumentos. Um argumento de -
é equivalente a --.

Bater também interpreta uma série de opções de vários caracteres. Essas opções devem aparecer em
a linha de comando antes das opções de um caractere a serem reconhecidas.

--depurador
Faça com que o perfil do depurador seja executado antes que o shell seja iniciado. Liga
modo de depuração estendido (consulte a descrição do extirpar opção para comprar
incorporado abaixo).
--dump-po-strings
Equivalente a -D, mas a saída está no GNU gettext po (objeto portátil) arquivo
formato.
--dump-strings
Equivalente a -D.
--Socorro Exibe uma mensagem de uso na saída padrão e sai com sucesso.
--init-file lima
--rcfile lima
Execute comandos de lima em vez do arquivo de inicialização de todo o sistema
/etc/bash.bashrc e o arquivo de inicialização pessoal padrão ~ / .bashrc se o
o shell é interativo (veja INVOCAÇÃO abaixo).

--Conecte-se
Equivalente a -l.

--sem edição
Não use o GNU readline biblioteca para ler linhas de comando quando o shell é
interativa.

--noprofile
Não leia o arquivo de inicialização de todo o sistema / etc / profile ou qualquer do pessoal
arquivos de inicialização ~ / .bash_profile, ~ / .bash_loginou ~ / .profile. Por padrão,
bater lê estes arquivos quando é invocado como um shell de login (veja INVOCAÇÃO abaixo).

--norc Não leia e execute o arquivo de inicialização de todo o sistema /etc/bash.bashrc e
o arquivo de inicialização pessoal ~ / .bashrc se o shell for interativo. Esse
opção está ativada por padrão se o shell for invocado como sh.

--posix
Mudar o comportamento de bater onde a operação padrão difere do POSIX
padrão para combinar com o padrão (posix modo). Vejo VEJA TAMBÉM abaixo para uma referência a
um documento que detalha como o modo posix afeta o comportamento do bash.

--restrito
O shell torna-se restrito (veja RESTRITO SHELL abaixo).

--verbose
Equivalente a -v.

--versão
Mostrar informações de versão para esta instância de bater na saída padrão e saída
com sucesso.

ARGUMENTOS


Se os argumentos permanecerem após o processamento da opção, e nem o -c nem o -s opção foi
fornecido, o primeiro argumento é considerado o nome de um arquivo contendo shell
comandos. Se bater é invocado desta forma, $0 é definido com o nome do arquivo, e o
os parâmetros posicionais são definidos para os argumentos restantes. Bater lê e executa
comandos desse arquivo e, em seguida, sai. Batero status de saída de é o status de saída do último
comando executado no script. Se nenhum comando for executado, o status de saída é 0. Um
é feita a primeira tentativa de abrir o arquivo no diretório atual e, se nenhum arquivo for encontrado,
então o shell procura os diretórios em PATH para o script.

INVOCAÇÃO


A entrar concha é aquele cujo primeiro caractere do argumento zero é um -, ou um começou com
que o --Conecte-se opção.

An interativo shell é aquele iniciado sem argumentos não opcionais e sem o -c opção
cuja entrada padrão e erro são ambos conectados aos terminais (conforme determinado por
isatty(3)), ou um iniciado com o -i opção. PS1 está definido e $- inclui i if bater is
interativo, permitindo que um script de shell ou um arquivo de inicialização teste esse estado.

Os parágrafos a seguir descrevem como bater executa seus arquivos de inicialização. Se algum dos
os arquivos existem, mas não podem ser lidos, bater relata um erro. Tildes são expandidos em nomes de arquivos
conforme descrito abaixo em Til Expansão no EXPANSÃO seção.

Quando bater é invocado como um shell de login interativo ou como um shell não interativo com o
--Conecte-se opção, ele primeiro lê e executa comandos do arquivo / etc / profile, Se isso
o arquivo existe. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e
~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe
e é legível. O --noprofile opção pode ser usada quando o shell é iniciado para inibir
esse comportamento.

Quando um shell de login sai, bater lê e executa comandos do arquivo ~ / .bash_logout,
se existe.

Quando um shell interativo que não é um shell de login é iniciado, bater lê e executa
comandos de /etc/bash.bashrc e ~ / .bashrc, se esses arquivos existirem. Isso pode ser inibido
usando o --norc opção. O --rcfile lima opção irá forçar bater ler e executar
comandos de lima em vez de /etc/bash.bashrc e ~ / .bashrc.

Quando bater é iniciado de forma não interativa, para executar um script de shell, por exemplo, procura
a variável BASH_ENV no ambiente, expande seu valor se aparecer lá e usa
o valor expandido como o nome de um arquivo para ler e executar. Bater se comporta como se o
os seguintes comandos foram executados:
if [-n "$ BASH_ENV"]; então . "$ BASH_ENV"; fi
mas o valor do PATH variável não é usada para pesquisar o nome do arquivo.

If bater é invocado com o nome sh, ele tenta imitar o comportamento de inicialização do histórico
versões sh o mais próximo possível, embora em conformidade com o padrão POSIX também.
Quando chamado como um shell de login interativo ou um shell não interativo com o --Conecte-se
opção, ele primeiro tenta ler e executar comandos de / etc / profile e ~ / .profile,
naquela ordem. O --noprofile opção pode ser usada para inibir esse comportamento. Quando invocado
como um shell interativo com o nome sh, bater procura a variável ENV, expande seu
valor se estiver definido e usa o valor expandido como o nome de um arquivo para ler e
executar. Uma vez que um shell invocado como sh não tenta ler e executar comandos de
quaisquer outros arquivos de inicialização, o --rcfile opção não tem efeito. Um shell não interativo
invocado com o nome sh não tenta ler nenhum outro arquivo de inicialização. Quando invocado
as sh, bater entra posix após a leitura dos arquivos de inicialização.

Quando bater é iniciado em posix modo, como com o --posix opção de linha de comando, segue
o padrão POSIX para arquivos de inicialização. Neste modo, shells interativos expandem o ENV
variável e comandos são lidos e executados a partir do arquivo cujo nome é o expandido
valor. Nenhum outro arquivo de inicialização é lido.

Bater tenta determinar quando está sendo executado com sua entrada padrão conectada a um
conexão de rede, como quando executada pelo daemon de shell remoto, geralmente rshd, Ou o
daemon de shell seguro sshd. Se bater determina que está sendo executado dessa maneira, ele lê
e executa comandos de ~ / .bashrc e ~ / .bashrc, se esses arquivos existirem e forem legíveis.
Não fará isso se for invocado como sh. O --norc opção pode ser usada para inibir este
comportamento e o --rcfile opção pode ser usada para forçar a leitura de outro arquivo, mas
nem rshd nem sshd geralmente invoca o shell com essas opções ou permite que sejam
Especificadas.

Se o shell for iniciado com o usuário efetivo (grupo) id diferente do usuário real
(grupo) id, e o -p opção não é fornecida, nenhum arquivo de inicialização é lido, funções do shell
não são herdados do meio ambiente, o CONCHAS, BASHOPTS, CDPATH e GLOBIGNOR
variáveis, se aparecerem no ambiente, são ignoradas, e o id de usuário efetivo é
definido para o ID de usuário real. Se o -p opção é fornecida na invocação, o comportamento de inicialização
é o mesmo, mas o ID de usuário efetivo não é redefinido.

DEFINIÇÕES


As seguintes definições são usadas no restante deste documento.
em branco Um espaço ou guia.
palavra Uma sequência de caracteres considerada uma única unidade pela casca. Também conhecido como
token.
nome A palavra consistindo apenas em caracteres alfanuméricos e sublinhados, e começando
com um caractere alfabético ou sublinhado. Também conhecido como identificador.
metacaractere
Um caractere que, quando sem aspas, separa as palavras. Um dos seguintes:
| & ; ( ) < > espaço aba
ao controle operador
A token que executa uma função de controle. É um dos seguintes símbolos:
|| & && ; ;; ( ) | |&

RESERVADO PALAVRAS


Reservado palavras são palavras que têm um significado especial para a casca. As seguintes palavras
são reconhecidos como reservados quando não citados e a primeira palavra de um comando simples
(Vejo SHELL GRAMÁTICA abaixo) ou a terceira palavra de um casas or para comando:

! casas coproco do feito elif outro esac fi para função if in selecionar então até enquanto { }
tempo [[ ]]

SHELL GRAMÁTICA


simples comandos
A simples comando é uma sequência de atribuições de variáveis ​​opcionais seguidas por em branco-
palavras separadas e redirecionamentos, e encerrado por um ao controle operador. A primeira palavra
especifica o comando a ser executado e é passado como argumento zero. As palavras restantes
são passados ​​como argumentos para o comando invocado.

O valor de retorno de um simples comando é seu status de saída, ou 128+n se o comando é
terminado por sinal n.

Dutos
A oleoduto é uma sequência de um ou mais comandos separados por um dos operadores de controle
| or |&. O formato de um pipeline é:

[tempo [-p]] [! ] comando [[||&] command2 ...]

A saída padrão de comando é conectado por meio de um tubo à entrada padrão de command2.
Esta conexão é realizada antes de qualquer redirecionamento especificado pelo comando (ver
REDIRECÇÃO abaixo). Se |& é usado, comandoerro padrão de, além de seu padrão
saída, está conectado a command2entrada padrão da empresa através do tubo; é uma abreviatura para
2> e 1 |. Este redirecionamento implícito do erro padrão para a saída padrão é
executado após qualquer redirecionamento especificado pelo comando.

O status de retorno de um pipeline é o status de saída do último comando, a menos que o
falha na tubulação opção está habilitada. Se falha na tubulação está habilitado, o status de retorno do pipeline é o
valor do último comando (mais à direita) para sair com um status diferente de zero, ou zero se todos
comandos saem com sucesso. Se a palavra reservada ! precede um pipeline, o status de saída
desse pipeline é a negação lógica do status de saída, conforme descrito acima. A concha
espera que todos os comandos no pipeline sejam encerrados antes de retornar um valor.

Se o tempo palavra reservada precede um pipeline, o tempo decorrido, bem como o tempo do usuário e do sistema
consumidos por sua execução são relatados quando o pipeline é encerrado. o -p opção
altera o formato de saída para aquele especificado por POSIX. Quando a casca está em posix modo, É
não reconhece tempo como uma palavra reservada se o próximo token começar com um `- '. 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; veja a descrição de FORMATO DE HORA para concha Variáveis
abaixo.

Quando a casca está em posix modo, tempo pode ser seguido por uma nova linha. Neste caso, o
shell exibe o usuário total e o tempo do sistema consumido pelo shell e seus filhos. O
FORMATO DE HORA variável pode ser usada para especificar o formato das informações de tempo.

Cada comando em um pipeline é executado como um processo separado (ou seja, em um subshell).

listas
A Lista é uma sequência de um ou mais pipelines separados por um dos operadores ;, &, &&,
or ||, e opcionalmente rescindido por um dos ;, &ou .

Destes operadores de lista, && e || têm igual precedência, seguido por ; e &, que tem
precedência igual.

Uma sequência de uma ou mais novas linhas pode aparecer em um Lista em vez de um ponto e vírgula para delimitar
comandos.

Se um comando for encerrado pelo operador de controle &, o shell executa o comando em
que o fundo em uma subcamada. O shell não espera o comando terminar, e o
o status de retorno é 0. Comandos separados por um ; são executados sequencialmente; a concha espera
para cada comando terminar por vez. O status de retorno é o status de saída do último
comando executado.

Listas AND e OR são sequências de um ou mais pipelines separados pelo && e || ao controle
operadores, respectivamente. As listas AND e OR são executadas com associatividade à esquerda. Um AND
lista tem a forma

command1 && command2

command2 é executado se, e somente se, command1 retorna um status de saída de zero.

Uma lista OR tem o formato

command1 || command2

command2 é executado se e somente se command1 retorna um status de saída diferente de zero. O retorno
status das listas AND e OR é o status de saída do último comando executado na lista.

Compound comandos
A composto comando é um dos seguintes. Na maioria dos casos, um Lista em um comando
a descrição pode ser separada do resto do comando por uma ou mais novas linhas, e pode
ser seguido por uma nova linha no lugar de um ponto e vírgula.

(Lista) Lista é executado em um ambiente de subshell (ver COMANDO EXECUÇÃO MEIO AMBIENTE
abaixo). Atribuições de variáveis ​​e comandos embutidos que afetam o
ambiente não permanecem em vigor após a conclusão do comando. O status de retorno
é o status de saída de Lista.

{ Lista; }
Lista é simplesmente executado no ambiente de shell atual. Lista deve ser encerrado
com uma nova linha ou ponto e vírgula. Isso é conhecido como grupo comando. O status de retorno
é o status de saída de Lista. Observe que, ao contrário dos metacaracteres ( e ), { e }
e guarante que os mesmos estão reservado palavras e deve ocorrer onde uma palavra reservada pode ser
reconhecido. Uma vez que não causam quebra de palavra, devem ser separados de Lista
por espaço em branco ou outro metacaractere shell.

((expressão))
A expressão é avaliada de acordo com as regras descritas abaixo em ARITMÉTICA
AVALIAÇÃO. Se o valor da expressão for diferente de zero, o status de retorno será 0;
caso contrário, o status de retorno é 1. Isso é exatamente equivalente a deixar "expressão".

[[ expressão ]]
Retorna um status de 0 ou 1 dependendo da avaliação da expressão condicional
expressão. As expressões são compostas das primárias descritas abaixo em
CONDICIONAL EXPRESSÕES. A divisão de palavras e a expansão do nome do caminho não são realizadas
nas palavras entre o [[ e ]]; expansão de til, parâmetro e variável
expansão, expansão aritmética, substituição de comando, substituição de processo e
a remoção da cotação é executada. Operadores condicionais como -f deve ser não cotado para
ser reconhecidos como primários.

Quando usado com [[, < e > operadores classificam lexicograficamente usando o atual
local.

Veja a descrição do teste comando embutido (seção SHELL BUILTIN COMMANDS abaixo) para
o tratamento de parâmetros (ou seja, parâmetros ausentes).

Quando o == e != operadores são usados, a string à direita do operador é
considerado um padrão e combinado de acordo com as regras descritas abaixo em padrão
Correspondente, como se o extglob opção de shell foram ativadas. o = operador é equivalente a
==. Se a opção shell nocasematch está habilitado, a partida é realizada sem levar em conta
o caso de caracteres alfabéticos. O valor de retorno é 0 se a string corresponder a (==) ou
não corresponde (!=) o padrão e 1 caso contrário. Qualquer parte do padrão pode ser citada
para forçar a parte citada a ser combinada como uma string.

Um operador binário adicional, =~, está disponível, com a mesma precedência que == e !=.
Quando é usada, a string à direita do operador é considerada uma extensão regular
expressão e correspondido de acordo (como em regex(3)). O valor de retorno é 0 se a string
corresponde ao padrão e 1 caso contrário. Se a expressão regular for sintaticamente
incorreto, o valor de retorno da expressão condicional é 2. Se a opção shell
nocasematch está habilitado, a correspondência é realizada sem levar em conta o caso do alfabeto
personagens. Qualquer parte do padrão pode ser citada para forçar a parte citada a ser
combinado como uma string. Expressões de colchetes em expressões regulares devem ser tratadas
com cuidado, uma vez que caracteres normais de citação perdem seus significados entre colchetes. Se o
padrão é armazenado em uma variável de shell, citando a expansão da variável força todo o
padrão a ser correspondido como uma string. Substrings correspondidos por subexpressões entre parênteses
dentro da expressão regular são salvos na variável de array BASH_REMATCH. O elemento
of BASH_REMATCH com índice 0 é a porção da string que corresponde a todo o regular
expressão. O elemento de BASH_REMATCH com índice n é a parte da corda
combinando com o na subexpressão entre parênteses.

As expressões podem ser combinadas usando os seguintes operadores, listados em ordem decrescente de
precedência:

( expressão )
Retorna o valor de expressão. Isso pode ser usado para substituir o normal
precedência de operadores.
! expressão
Verdadeiro se expressão é falso.
expressão1 && expressão2
Verdadeiro se ambos expressão1 e expressão2 são verdadeiras.
expressão1 || expressão2
Verdadeiro se qualquer um expressão1 or expressão2 é verdade.

A && e || operadores não avaliam expressão2 se o valor de expressão1 is
suficiente para determinar o valor de retorno de toda a expressão condicional.

para nome [[ in [ palavra ... ]]; ] do Lista ; feito
A lista de palavras a seguir in é expandido, gerando uma lista de itens. o
variável nome é definido para cada elemento desta lista por sua vez, e Lista É executado
cada vez. Se o in palavra é omitido, o para comando executa Lista uma vez para cada
parâmetro posicional que é definido (ver PARÂMETROS abaixo). O status de retorno é o
status de saída do último comando executado. Se a expansão dos itens
seguinte in resulta em uma lista vazia, nenhum comando é executado e o retorno
o status é 0.

para (( expr1 ; expr2 ; expr3 )); do Lista ; feito
Primeiro, a expressão aritmética expr1 é avaliado de acordo com as regras
descrito abaixo em ARITMÉTICA AVALIAÇÃO. A expressão aritmética expr2 is
em seguida, avaliada repetidamente até que seja avaliada como zero. Cada vez expr2 avalia como
um valor diferente de zero, Lista é executado e a expressão aritmética expr3 is
avaliado. Se alguma expressão for omitida, ela se comporta como se avaliada como 1. O
o valor de retorno é o status de saída do último comando em Lista que é executado, ou
false se alguma das expressões for inválida.

selecionar nome [ in palavra ]; do Lista ; feito
A lista de palavras a seguir in é expandido, gerando uma lista de itens. O conjunto de
palavras expandidas são impressas no erro padrão, cada uma precedida por um número. Se o
in palavra é omitido, os parâmetros posicionais são impressos (ver PARÂMETROS abaixo).
A PS3 prompt é então exibido e uma linha lida da entrada padrão. Se o
linha consiste em um número correspondente a uma das palavras exibidas, então o
valor de nome está definido para essa palavra. Se a linha estiver vazia, as palavras e o prompt são
exibido novamente. Se EOF for lido, o comando será concluído. Qualquer outro valor lido
causas nome a ser definido como nulo. A linha lida é salva na variável RESPOSTA. O
Lista é executado após cada seleção até um quebrar comando é executado. A saída
status de selecionar é o status de saída do último comando executado em Lista, ou zero
se nenhum comando foi executado.

casas palavra in [[(] de cinto de segurança [ | de cinto de segurança ] ...) Lista ;; ] ... esac
A casas comando primeiro expande palavra, e tenta combiná-lo com cada de cinto de segurança in
por sua vez, usando as mesmas regras de correspondência para a expansão do nome do caminho (ver Pathname
Expansão abaixo). o palavra é expandido usando expansão de til, parâmetro e
expansão de variável, substituição aritmética, substituição de comando, processo
substituição e remoção de cotação. Cada de cinto de segurança examinado é expandido usando til
expansão, expansão de parâmetro e variável, substituição aritmética, comando
substituição e substituição de processo. Se a opção shell nocasematch is
habilitado, a correspondência é realizada independentemente do caso da letra alfabética
personagens. Quando uma correspondência é encontrada, o correspondente Lista É executado. Se o ;;
operador é usado, nenhuma correspondência subsequente é tentada após o primeiro padrão
Combine. Usando ;& em lugar de ;; faz com que a execução continue com o Lista
associado ao próximo conjunto de padrões. Usando ;; & em lugar de ;; faz com que o
shell para testar a próxima lista de padrões na instrução, se houver, e executar qualquer
associado Lista em uma partida bem-sucedida. O status de saída é zero se nenhum padrão
fósforos. Caso contrário, é o status de saída do último comando executado em Lista.

if Lista; então Lista; [ elif Lista; então Lista; ] ... [ outro Lista; ] fi
A if Lista É executado. Se seu status de saída for zero, o então Lista É executado.
Caso contrário, cada elif Lista é executado por sua vez, e se seu status de saída for zero, o
correspondente então Lista é executado e o comando é concluído. Caso contrário, o outro
Lista é executado, se presente. O status de saída é o status de saída do último
comando executado ou zero se nenhuma condição testada como verdadeira.

enquanto lista-1; do lista-2; feito
até lista-1; do lista-2; feito
A enquanto comando executa continuamente a lista lista-2 enquanto o último comando
na lista lista-1 retorna um status de saída de zero. o até comando é idêntico
ao enquanto comando, exceto que o teste é negado; lista-2 é executado enquanto
como o último comando em lista-1 retorna um status de saída diferente de zero. O status de saída de
que o enquanto e até comandos é o status de saída do último comando executado em
lista-2, ou zero se nenhum foi executado.

Coprocessos
A coprocesso é um comando shell precedido pelo coproco palavra reservada. Um coprocesso é
executado de forma assíncrona em um subshell, como se o comando tivesse sido encerrado com o &
operador de controle, com um tubo bidirecional estabelecido entre o shell em execução e o
coprocesso.

O formato de um coprocesso é:

coproco [NOME] comando [redirecionamentos]

Isso cria um co-processo chamado NOME. Se NOME não é fornecido, o nome padrão é COPROC.
NOME não deve ser fornecido se comando é um simples comando (Veja acima); caso contrário, é
interpretada como a primeira palavra do comando simples. Quando o coprocesso é executado, o
shell cria uma variável de array (veja Arrays abaixo) nomeado NOME no contexto do
executando o shell. A saída padrão de comando está conectado por meio de um tubo a um arquivo
descritor no shell em execução, e esse descritor de arquivo é atribuído a NOME[0]. O
entrada padrão de comando está conectado por meio de um tubo a um descritor de arquivo na execução
shell, e esse descritor de arquivo é atribuído a NOME[1] Este tubo é estabelecido antes
quaisquer redirecionamentos especificados pelo comando (veja REDIRECÇÃO abaixo). Os descritores de arquivo
podem ser utilizados como argumentos para comandos de shell e redirecionamentos usando palavras padrão
expansões. Os descritores de arquivo não estão disponíveis em subshells. O ID do processo do
shell gerado para executar o coprocesso está disponível como o valor da variável NOME_PID.
A esperar O comando embutido pode ser usado para esperar o co-processo terminar.

Uma vez que o coprocesso é criado como um comando assíncrono, o coproco comandar sempre
retorna sucesso. O status de retorno de um coprocesso é o status de saída de comando.

concha função Definições
Uma função de shell é um objeto que é chamado como um comando simples e executa um composto
comando com um novo conjunto de parâmetros posicionais. As funções do shell são declaradas da seguinte forma:

nome () comando composto [redirecionamento]
função nome [()] comando composto [redirecionamento]
Isso define uma função chamada nome. A palavra reservada função é opcional. Se
que o função palavra reservada for fornecida, os parênteses são opcionais. O corpo of
a função é o comando composto comando composto (Vejo Compound comandos
acima de). Esse comando geralmente é um Lista de comandos entre {e}, mas pode ser qualquer
comando listado em Compound comandos acima. comando composto É executado
sempre que nome é especificado como o nome de um comando simples. Quando em posix modo,
nome pode não ser o nome de um dos POSIX especial embutidos. Quaisquer redirecionamentos
(Vejo REDIRECÇÃO abaixo) especificado quando uma função é definida são executados quando o
função é executada. O status de saída de uma definição de função é zero, a menos que um
ocorre um erro de sintaxe ou já existe uma função somente leitura com o mesmo nome. Quando
executado, o status de saída de uma função é o status de saída do último comando
executado no corpo. (Ver FUNÇÕES abaixo.)

COMENTÁRIOS


Em um shell não interativo, ou um shell interativo no qual o comentários_interativos
opção para comprar embutido está habilitado (veja SHELL CONSTRUÍDAS EM COMANDOS abaixo), uma palavra
começando com # faz com que essa palavra e todos os caracteres restantes nessa linha sejam ignorados.
Um shell interativo sem o comentários_interativos opção habilitada não permite
comentários. O comentários_interativos opção está ativada por padrão em shells interativos.

CITAÇÃO


Citando é usado para remover o significado especial de certos caracteres ou palavras do shell.
As citações podem ser usadas para desativar o tratamento especial para caracteres especiais, para prevenir
palavras reservadas sejam reconhecidas como tal e para evitar a expansão dos parâmetros.

Cada um dos metacaracteres listado acima em DEFINIÇÕES tem um significado especial para a concha
e deve ser citado para se representar.

Quando as facilidades de expansão do histórico de comandos estão sendo usadas (ver HISTÓRIA EXPANSÃO
abaixo de história expansão personagem, normalmente !, deve ser citado para evitar história
expansão.

Existem três mecanismos de cotação: o escapar personagem, aspas simples e duplas
citações.

Uma barra invertida sem aspas (\) é o escapar personagem. Ele preserva o valor literal do
próximo caractere que se segue, com exceção de . Se um \par
aparece, e a barra invertida não é ela mesma citada, o \é tratado como uma linha
continuação (ou seja, é removido do fluxo de entrada e efetivamente ignorado).

Colocar caracteres entre aspas simples preserva o valor literal de cada caractere dentro
as citações. Uma aspa simples não pode ocorrer entre aspas simples, mesmo quando precedida por um
barra invertida.

Colocar caracteres entre aspas duplas preserva o valor literal de todos os caracteres dentro
as aspas, com exceção de $, `, \, e, quando a expansão do histórico está habilitada, !. O
caracteres $ e ` retêm seu significado especial entre aspas duplas. A barra invertida
retém seu significado especial apenas quando seguido por um dos seguintes caracteres: $, `,
", \ou . Uma aspa dupla pode ser colocada entre aspas duplas precedendo-a
com uma barra invertida. Se ativado, a expansão do histórico será realizada a menos que um ! aparecendo
entre aspas duplas é escapado por uma barra invertida. A barra invertida que precede o ! não é
removido.

Os parâmetros especiais * e @ têm um significado especial quando entre aspas (ver PARÂMETROS
abaixo).

Palavras da forma $'corda'são tratados de maneira especial. A palavra se expande para corda, com
caracteres com escape de barra invertida substituídos conforme especificado pelo padrão ANSI C. Barra invertida
sequências de escape, se presentes, são decodificadas da seguinte forma:
\a alerta (sino)
\b retrocesso
\e
\E um personagem de escape
\f formulário de alimentação
\n nova linha
\r retorno de carro
\t aba horizontal
\v aba vertical
\\ barra invertida
\' citação única
\" citação dupla
\nnn o caractere de oito bits cujo valor é o valor octal nnn (um a três
dígitos)
\xHH o caractere de oito bits cujo valor é o valor hexadecimal HH (um ou dois
dígitos hexadecimais)
\uHhhh o caractere Unicode (ISO / IEC 10646) cujo valor é o valor hexadecimal
Hhhh (um a quatro dígitos hexadecimais)
\UHHHHHHH
o caractere Unicode (ISO / IEC 10646) cujo valor é o valor hexadecimal
HHHHHHH (um a oito dígitos hexadecimais)
\cx um controlex personagem

O resultado expandido está entre aspas simples, como se o cifrão não estivesse presente.

Uma string entre aspas duplas precedida por um cifrão ($"corda") fará com que a string seja
traduzido de acordo com o local atual. Se o local atual for C or POSIX,
cifrão é ignorado. Se a string for traduzida e substituída, a substituição é
entre aspas.

PARÂMETROS


A parâmetro é uma entidade que armazena valores. Pode ser um nome, um número ou um dos
caracteres especiais listados abaixo em Destaque parâmetros. UMA variável é um parâmetro
denotado por um nome. Uma variável tem um valor e zero ou mais atributos. Atributos são
atribuído usando o declarar comando embutido (veja declarar abaixo em SHELL CONSTRUÍDAS EM COMANDOS).

Um parâmetro é definido se tiver sido atribuído um valor. A string nula é um valor válido.
Depois que uma variável é definida, ela pode ser removida apenas usando o não definido comando embutido (veja SHELL
CONSTRUÍDAS EM COMANDOS abaixo).

A variável pode ser atribuído por uma declaração do formulário

nome=[valor]

If valor não é fornecido, a variável é atribuída a string nula. Tudo valores sofrer til
expansão, expansão de parâmetro e variável, substituição de comando, expansão aritmética,
e remoção de citação (ver EXPANSÃO abaixo). Se a variável tem seu número inteiro conjunto de atributos,
então valor é avaliada como uma expressão aritmética mesmo se a expansão $ ((...)) não for
usado (ver Aritmética Expansão abaixo). A divisão de palavras não é realizada, com o
exceção de "$ @" como explicado abaixo em Destaque parâmetros. A expansão do nome do caminho não é
realizada. As declarações de atribuição também podem aparecer como argumentos para o aliás, declarar,
formatado, exportar, somente leitura e local comandos embutidos. Quando em posix modo, estes embutidos
pode aparecer em um comando após uma ou mais instâncias do comando embutir e reter
essas propriedades de instrução de atribuição.

No contexto em que uma instrução de atribuição está atribuindo um valor a uma variável de shell ou
índice de matriz, o operador + = pode ser usado para anexar ou adicionar ao anterior da variável
valor. Quando + = é aplicado a uma variável para a qual o número inteiro atributo foi definido,
valor é avaliada como uma expressão aritmética e adicionada ao valor atual da variável,
que também é avaliado. Quando + = é aplicado a uma variável de matriz usando composto
atribuição (ver Arrays abaixo), o valor da variável não é desconfigurado (como ocorre ao usar =),
e novos valores são acrescentados ao array começando em um maior que o máximo do array
índice (para matrizes indexadas) ou adicionado como pares chave-valor adicionais em uma matriz associativa.
Quando aplicado a uma variável com valor de string, valor é expandido e anexado ao da variável
valor.

Uma variável pode ser atribuída ao nomeref atributo usando o -n opção para declarar or
local comandos embutidos (veja as descrições de declarar e local abaixo) para criar um
nomeref, ou uma referência a outra variável. Isso permite que as variáveis ​​sejam manipuladas
indiretamente. Sempre que a variável nameref é referenciada ou atribuída, a operação é
realmente executado na variável especificada pelo valor da variável nameref. Um nameref
é comumente usado em funções de shell para se referir a uma variável cujo nome é passado como um
argumento para a função. Por exemplo, se um nome de variável é passado para uma função shell
como seu primeiro argumento, executando
declare -n ref = $ 1
dentro da função cria uma variável nameref ref cujo valor é o nome da variável passado
como o primeiro argumento. Referências e atribuições para ref são tratados como referências e
atribuições à variável cujo nome foi passado como $1. Se a variável de controle em um para
loop tem o atributo nameref, a lista de palavras pode ser uma lista de variáveis ​​de shell e um
a referência de nome será estabelecida para cada palavra da lista, por sua vez, quando o loop for
executado. Variáveis ​​de matriz não podem receber o -n atributo. No entanto, variáveis ​​nameref
pode fazer referência a variáveis ​​de matriz e variáveis ​​de matriz subscritas. Namerefs pode ser desabilitado
usando o -n opção para não definido construídas em. Caso contrário, se não definido é executado com o nome
de uma variável nameref como um argumento, a variável referenciada pela variável nameref irá
ser desconfigurado.

Posicional parâmetros
A posicional parâmetro é um parâmetro denotado por um ou mais dígitos, diferente do único
dígito 0. Parâmetros posicionais são atribuídos a partir dos argumentos do shell quando é
invocado e pode ser reatribuído usando o conjunto comando embutido. Os parâmetros posicionais podem
não ser atribuído com instruções de atribuição. Os parâmetros posicionais são temporariamente
substituído quando uma função shell é executada (ver FUNÇÕES abaixo).

Quando um parâmetro posicional que consiste em mais de um único dígito é expandido, deve ser
entre colchetes (ver EXPANSÃO abaixo).

Destaque parâmetros
O shell trata vários parâmetros especialmente. Esses parâmetros só podem ser referenciados;
atribuição a eles não é permitida.
* Expande-se para os parâmetros posicionais, começando de um. Quando a expansão não é
entre aspas duplas, cada parâmetro posicional se expande para uma palavra separada. Dentro
contextos onde é executada, essas palavras estão sujeitas a mais divisão de palavras
e expansão do nome do caminho. Quando a expansão ocorre entre aspas duplas, ela se expande
para uma única palavra com o valor de cada parâmetro separado pelo primeiro caractere
da IFS variável especial. Aquilo é, "$*" é equivalente a "$1c$2c...", Onde c
é o primeiro caractere do valor do IFS variável. Se IFS não está definido, o
os parâmetros são separados por espaços. Se IFS é nulo, os parâmetros são unidos
sem separadores intermediários.
@ Expande-se para os parâmetros posicionais, começando de um. Quando a expansão ocorre
entre aspas duplas, cada parâmetro se expande para uma palavra separada. Aquilo é, "$@
equivalente a "$1""$2"... Se a expansão entre aspas duplas ocorrer dentro de uma palavra,
a expansão do primeiro parâmetro é juntada com a parte inicial do
palavra original, e a expansão do último parâmetro é unida à última parte
da palavra original. Quando não há parâmetros posicionais, "$@"E $@ expandir
para nada (ou seja, eles são removidos).
# Expande-se para o número de parâmetros posicionais em decimal.
? Expande-se para o status de saída do pipeline de primeiro plano executado mais recentemente.
- Expande-se para os sinalizadores de opção atuais conforme especificado na invocação, pelo conjunto
comando embutido, ou aqueles definidos pelo próprio shell (como o -i opção).
$ Expande-se para o ID do processo do shell. Em um subshell (), ele se expande para o
ID do processo do shell atual, não do subshell.
! Expande-se para o ID do processo do trabalho mais recentemente colocado em segundo plano,
seja executado como um comando assíncrono ou usando o bg embutido (ver TRABALHO
CONTROLE abaixo).
0 Expande-se para o nome do shell ou script de shell. Isso é definido no shell
inicialização. Se bater é invocado com um arquivo de comandos, $0 está definido para o nome
desse arquivo. Se bater é iniciado com o -c opção, então $0 está definido para o primeiro
argumento após a string a ser executada, se houver. Caso contrário, está definido
ao nome do arquivo usado para invocar bater, conforme dado pelo argumento zero.
_ Na inicialização do shell, defina o nome do caminho absoluto usado para invocar o shell ou shell
script sendo executado conforme passado no ambiente ou na lista de argumentos. Subseqüentemente,
expande para o último argumento do comando anterior, após a expansão. Também definido para
o caminho completo usado para invocar cada comando executado e colocado no
ambiente exportado para esse comando. Ao verificar o e-mail, este parâmetro contém o
nome do arquivo de mensagens atualmente sendo verificado.

concha Variáveis
As seguintes variáveis ​​são definidas pelo shell:

FESTANÇA Expande-se para o nome de arquivo completo usado para invocar esta instância de bater.
BASHOPTS
Uma lista separada por dois pontos de opções de shell ativadas. Cada palavra da lista é um válido
argumento para o -s opção para comprar comando embutido (veja SHELL CONSTRUÍDAS EM COMANDOS
abaixo). As opções que aparecem em BASHOPTS são aqueles relatados como on by comprar. Se
esta variável está no ambiente quando bater inicia, cada opção de shell no
a lista será habilitada antes de ler qualquer arquivo de inicialização. Esta variável é somente leitura.
BASHPIDA
Expande-se para o ID do processo do atual bater processo. Isso difere de $$ para
certas circunstâncias, como subshells que não requerem bater ser re-
inicializado.
BASH_ALIASES
Uma variável de matriz associativa cujos membros correspondem à lista interna de
apelidos mantidos pelo aliás construídas em. Os elementos adicionados a esta matriz aparecem em
a lista de alias; elementos de matriz desarmados fazem com que os aliases sejam removidos do alias
Lista.
BASH_ARGC
Uma variável de matriz cujos valores são o número de parâmetros em cada quadro do
atual bater pilha de chamadas de execução. O número de parâmetros para o atual
sub-rotina (função shell ou script executado com . or fonte) está no topo de
a pilha. Quando uma sub-rotina é executada, o número de parâmetros passados ​​é
empurrado para BASH_ARGC. A concha define BASH_ARGC apenas quando em depuração estendida
modo (veja a descrição do extirpar opção para comprar embutido abaixo)
BASH_ARGV
Uma variável de array contendo todos os parâmetros do atual bater execução
pilha de chamadas. O parâmetro final da última chamada de sub-rotina está no topo do
pilha; o primeiro parâmetro da chamada inicial está na parte inferior. Quando uma sub-rotina
é executado, os parâmetros fornecidos são enviados para BASH_ARGV. A concha define
BASH_ARGV apenas quando no modo de depuração estendido (consulte a descrição do extirpar
opção para comprar embutido abaixo)
BASH_CMDS
Uma variável de matriz associativa cujos membros correspondem à tabela hash interna
de comandos mantidos pelo hash construídas em. Os elementos adicionados a esta matriz aparecem
na tabela de hash; elementos de array desarmados fazem com que os comandos sejam removidos do
tabela de hash.
BASH_COMMAND
O comando atualmente sendo executado ou prestes a ser executado, a menos que o shell seja
executar um comando como resultado de uma armadilha, caso em que é o comando
em execução no momento da armadilha.
BASH_EXECUTION_STRING
O argumento do comando para o -c opção de invocação.
BASH_LINENO
Uma variável de matriz cujos membros são os números de linha nos arquivos de origem onde cada
membro correspondente de FUNCNAME foi invocado. $ {BASH_LINENO [$i]} é a linha
número no arquivo de origem ($ {BASH_SOURCE [$ i + 1]}) Onde $ {FUNCNAME [$i]} foi chamado
(ou $ {BASH_LINENO [$ i-1]} se referenciado em outra função do shell). Usar LINHO
para obter o número da linha atual.
BASH_REMATCH
Uma variável de matriz cujos membros são atribuídos pelo =~ operador binário para o [[
comando condicional. O elemento com índice 0 é a parte da string
correspondendo a toda a expressão regular. O elemento com índice n é a porção de
a string combinando com o na subexpressão entre parênteses. Esta variável é lida-
só.
BASH_SOURCE
Uma variável de matriz cujos membros são os nomes dos arquivos de origem, onde o correspondente
nomes de funções do shell no FUNCNAME variáveis ​​de matriz são definidas. A concha
função $ {FUNCNAME [$i]} está definido no arquivo $ {BASH_SOURCE [$i]} e chamado de
$ {BASH_SOURCE [$ i + 1]}.
BASH_SUBSHELL
Incrementado por um dentro de cada subcamada ou ambiente de subcamada quando a concha
começa a ser executado naquele ambiente. O valor inicial é 0.
BASH_VERSINFO
Uma variável de matriz somente leitura cujos membros contêm informações de versão para esta instância
of bater. Os valores atribuídos aos membros da matriz são os seguintes:
BASH_VERSINFO [0] O número da versão principal (o liberar).
BASH_VERSINFO [1] O número da versão secundária (o versão).
BASH_VERSINFO [2] O nível do patch.
BASH_VERSINFO [3] A versão de construção.
BASH_VERSINFO [4] O status de liberação (por exemplo, beta1).
BASH_VERSINFO [5] O valor de TIPO MÁQUINO.
BASH_VERSION
Expande-se para uma string que descreve a versão desta instância de bater.
COMP_CWORD
Um índice em $ {COMP_WORDS} da palavra que contém a posição atual do cursor.
Esta variável está disponível apenas em funções de shell invocadas pelo programável
instalações de conclusão (ver Programável Realização abaixo).
COMP_KEY
A chave (ou chave final de uma sequência de teclas) usada para invocar a conclusão atual
função.
COMP_LINE
A linha de comando atual. Esta variável está disponível apenas em funções shell e
comandos externos invocados pelos recursos de completação programáveis ​​(ver
Programável Realização abaixo).
COMP_POINT
O índice da posição atual do cursor em relação ao início do atual
comando. Se a posição atual do cursor estiver no final do comando atual, o
valor desta variável é igual a $ {# COMP_LINE}. Esta variável está disponível apenas
em funções de shell e comandos externos invocados pela conclusão programável
instalações (ver Programável Realização abaixo).
COMP_TYPE
Definido como um valor inteiro correspondente ao tipo de conclusão tentada
fez com que uma função de conclusão fosse chamada: ABA, para conclusão normal, ?, Por
listando conclusões após guias sucessivas, !, para listar alternativas em parcial
completamento de palavras, @, para listar conclusões se a palavra não estiver inalterada, ou %, Por
conclusão do menu. Esta variável está disponível apenas em funções shell e externas
comandos invocados pelos recursos de completação programáveis ​​(ver Programável
Realização abaixo).
COMP_WORDBREAKS
O conjunto de caracteres que o readline a biblioteca trata como separadores de palavras quando
realizando a conclusão de palavras. Se COMP_WORDBREAKS não está definido, perde o seu especial
propriedades, mesmo se for redefinido posteriormente.
COMP_WORDS
Uma variável de array (veja Arrays abaixo) consistindo em palavras individuais no
linha de comando atual. A linha é dividida em palavras como readline iria dividi-lo,
utilização COMP_WORDBREAKS como descrito acima. Esta variável está disponível apenas no shell
funções invocadas pelos recursos de completação programáveis ​​(ver Programável
Realização abaixo).
COPROC Uma variável de array (veja Arrays abaixo) criado para conter os descritores de arquivo para
saída e entrada para um coprocesso não nomeado (ver Coprocessos acima).
DIRSTACK
Uma variável de array (veja Arrays abaixo) contendo o conteúdo atual do
pilha de diretórios. Os diretórios aparecem na pilha na ordem em que são exibidos
pelo dirs construídas em. Atribuir a membros desta variável de matriz pode ser usado para
modificar os diretórios que já estão na pilha, mas o pushd e popd os builtins devem ser
usado para adicionar e remover diretórios. A atribuição a esta variável não mudará
o diretório atual. Se DIRSTACK não está definido, ele perde suas propriedades especiais, até mesmo
se for reiniciado posteriormente.
EUID Expande-se para o ID de usuário efetivo do usuário atual, inicializado na inicialização do shell.
Esta variável é somente leitura.
FUNCNAME
Uma variável de array contendo os nomes de todas as funções do shell atualmente no
pilha de chamadas de execução. O elemento com índice 0 é o nome de qualquer
executando a função shell. O elemento mais inferior (aquele com o índice mais alto)
é "principal". Esta variável existe apenas quando uma função shell está em execução.
Atribuições para FUNCNAME não têm efeito e retornam um status de erro. Se FUNCNAME is
não definido, ele perde suas propriedades especiais, mesmo se for redefinido posteriormente.

Esta variável pode ser usada com BASH_LINENO e BASH_SOURCE. Cada elemento de
FUNCNAME tem elementos correspondentes em BASH_LINENO e BASH_SOURCE para descrever o
pilha de chamadas. Por exemplo, $ {FUNCNAME [$i]} foi chamado a partir do arquivo
$ {BASH_SOURCE [$ i + 1]} no número da linha $ {BASH_LINENO [$i]}. O chamador builtin
exibe a pilha de chamadas atual usando essas informações.
GRUPOS Uma variável de array contendo a lista de grupos dos quais o usuário atual é um
membro. Atribuições para GRUPOS não têm efeito e retornam um status de erro. Se
GRUPOS não for definido, ele perderá suas propriedades especiais, mesmo se for redefinido posteriormente.
HISTCMD
O número do histórico, ou índice na lista de histórico, do comando atual. Se
HISTCMD não for definido, ele perde suas propriedades especiais, mesmo se for subsequentemente
restabelecer.
NOME DE ANFITRIÃO
Definido automaticamente com o nome do host atual.
TIPO DE HOST
Definido automaticamente para uma string que descreve exclusivamente o tipo de máquina na qual
bater está executando. O padrão depende do sistema.
LINHO Cada vez que este parâmetro é referenciado, o shell substitui um número decimal
representando o número da linha sequencial atual (começando com 1) dentro de um script
ou função. Quando não está em um script ou função, o valor substituído não é
garantido para ser significativo. Se LINHO não está definido, ele perde suas propriedades especiais,
mesmo se for reiniciado posteriormente.
TIPO MÁQUINO
Definido automaticamente como uma string que descreve totalmente o tipo de sistema no qual bater is
executando, no GNU padrão cpu-empresa-sistema formato. O padrão é sistema-
dependente.
ARQUIVO DE MAPA
Uma variável de array (veja Arrays abaixo) criado para conter o texto lido pelo arquivo de mapa
embutido quando nenhum nome de variável é fornecido.
OLDPWD O diretório de trabalho anterior, conforme definido pelo cd comando.
OPTARG O valor do último argumento da opção processado pelo obter opções comando embutido (veja
SHELL CONSTRUÍDAS EM COMANDOS abaixo).
OPTINDO O índice do próximo argumento a ser processado pelo obter opções comando embutido (veja
SHELL CONSTRUÍDAS EM COMANDOS abaixo).
OSTIPO Definido automaticamente como uma string que descreve o sistema operacional no qual bater is
executando. O padrão depende do sistema.
ESTADO DA TUBULAÇÃO
Uma variável de array (veja Arrays abaixo) contendo uma lista de valores de status de saída de
os processos no pipeline de primeiro plano executado mais recentemente (que pode conter
apenas um único comando).
PPID O ID do processo do pai do shell. Esta variável é somente leitura.
PWD O diretório de trabalho atual conforme definido pelo cd comando.
RANDOM Cada vez que este parâmetro é referenciado, um número inteiro aleatório entre 0 e 32767 é
gerado. A sequência de números aleatórios pode ser inicializada atribuindo um valor
para RANDOM. Se RANDOM não está definido, ele perde suas propriedades especiais, mesmo que seja
posteriormente reiniciado.
READLINE_LINE
O conteúdo do readline buffer de linha, para uso com "bind -x" (ver SHELL CONSTRUÍDAS EM
COMANDOS abaixo).
READLINE_POINT
A posição do ponto de inserção no readline buffer de linha, para uso com "bind
-x "(ver SHELL CONSTRUÍDAS EM COMANDOS abaixo).
RESPOSTA Defina a linha de entrada lida pelo ler comando embutido quando nenhum argumento é
fornecido.
SEGUNDOS
Cada vez que este parâmetro é referenciado, o número de segundos desde o shell
invocação é retornada. Se um valor for atribuído a SEGUNDOS, o valor retornado em
referências subsequentes é o número de segundos desde a atribuição mais o valor
atribuído. Se SEGUNDOS não está definido, ele perde suas propriedades especiais, mesmo que seja
posteriormente reiniciado.
CONCHAS
Uma lista separada por dois pontos de opções de shell ativadas. Cada palavra da lista é um válido
argumento para o -o opção para conjunto comando embutido (veja SHELL CONSTRUÍDAS EM COMANDOS
abaixo). As opções que aparecem em CONCHAS são aqueles relatados como on by conjunto -o. Se
esta variável está no ambiente quando bater inicia, cada opção de shell no
a lista será habilitada antes de ler qualquer arquivo de inicialização. Esta variável é somente leitura.
SHLVL Incrementado em um cada vez que uma instância de bater começou.
UID Expande-se para o ID de usuário do usuário atual, inicializado na inicialização do shell. Esse
variável é somente leitura.

As seguintes variáveis ​​são usadas pelo shell. Em alguns casos, bater atribui um padrão
valor para uma variável; esses casos são anotados abaixo.

BASH_COMPAT
O valor é usado para definir o nível de compatibilidade do shell. Veja a descrição de
que o comprar embutido embaixo de SHELL CONSTRUÍDAS EM COMANDOS para uma descrição do
vários níveis de compatibilidade e seus efeitos. O valor pode ser um número decimal
(por exemplo, 4.2) ou um número inteiro (por exemplo, 42) correspondendo à compatibilidade desejada
nível. Se BASH_COMPAT não está definido ou definido para a string vazia, o nível de compatibilidade
é definido como o padrão para a versão atual. Se BASH_COMPAT está definido para um valor
esse não é um dos níveis de compatibilidade válidos, o shell imprime um erro
mensagem e define o nível de compatibilidade para o padrão para a versão atual.
Os níveis de compatibilidade válidos correspondem às opções de compatibilidade aceitas por
que o comprar incorporado descrito abaixo (por exemplo, compatibilidade42 significa que 4.2 e 42 são
valores válidos). A versão atual também é um valor válido.
BASH_ENV
Se este parâmetro for definido quando bater está executando um script de shell, seu valor é
interpretado como um nome de arquivo contendo comandos para inicializar o shell, como em
~ / .bashrc. O valor de BASH_ENV está sujeito a expansão de parâmetro, comando
substituição e expansão aritmética antes de ser interpretado como um nome de arquivo.
PATH não é usado para pesquisar o nome do arquivo resultante.
BASH_XTRACEFD
Se definido como um inteiro correspondente a um descritor de arquivo válido, bater vai escrever o
saída de rastreamento gerada quando conjunto -x está habilitado para esse descritor de arquivo. O arquivo
descritor é fechado quando BASH_XTRACEFD não está definido ou foi atribuído um novo valor.
Perturbador BASH_XTRACEFD ou atribuir a ele a string vazia faz com que a saída do rastreamento para
ser enviado para o erro padrão. Observe que a configuração BASH_XTRACEFD para 2 (o padrão
descritor de arquivo de erro) e, em seguida, removê-lo resultará no erro padrão
sendo fechado.
CDPATH O caminho de busca para o cd comando. Esta é uma lista de diretórios separados por dois pontos
em que o shell procura os diretórios de destino especificados pelo cd comando.
Um valor de amostra é ".: ~:/ usr".
CHILD_MAX
Defina o número de valores de status de saída do filho para o shell lembrar. Bash vai
não permitir que este valor seja diminuído abaixo de um mínimo exigido por POSIX, e há um
valor máximo (atualmente 8192) que não pode exceder. O valor mínimo é
dependente do sistema.
COLUNAS
Usado pelo selecionar comando composto para determinar a largura do terminal ao imprimir
listas de seleção. Definido automaticamente se o checkwinsize opção está habilitada ou em um
shell interativo após o recebimento de um SIGWINCH.
COMPREMENTE
Uma variável de matriz a partir da qual bater lê as conclusões possíveis geradas por um
função shell invocada pela facilidade de completação programável (ver Programável
Realização abaixo). Cada elemento da matriz contém uma conclusão possível.
EMACS If bater encontra esta variável no ambiente quando o shell começa com valor
"t", ele assume que o shell está sendo executado em um buffer de shell do Emacs e desativa
edição de linha.
ENV Semelhante a BASH_ENV; usado quando o shell é chamado no modo POSIX.
EDITAR O editor padrão para o fc comando embutido.
FIGNORA
Uma lista de sufixos separados por dois pontos a serem ignorados ao realizar a conclusão do nome do arquivo
(Vejo LEIA A LINHA abaixo). Um nome de arquivo cujo sufixo corresponde a uma das entradas em
FIGNORA é excluído da lista de nomes de arquivos correspondentes. Um valor de amostra é ".o: ~"
(Aspas são necessárias ao atribuir um valor a essa variável, que contém tis).
FUNCEST
Se definido com um valor numérico maior que 0, define um nível máximo de aninhamento de função.
As invocações de função que excedem este nível de aninhamento farão com que o comando atual
para abortar.
GLOBIGNOR
Uma lista de padrões separados por dois pontos definindo o conjunto de nomes de arquivos a serem ignorados por
expansão do nome do caminho. Se um nome de arquivo corresponde a um padrão de expansão de nome de caminho também
corresponde a um dos padrões em GLOBIGNOR, ele é removido da lista de correspondências.
HISTCONTROL
Uma lista de valores separados por dois pontos controlando como os comandos são salvos no histórico
Lista. Se a lista de valores inclui ignorar espaço, linhas que começam com um espaço
personagem não são salvos na lista de histórico. Um valor de Ignorados causa linhas
correspondendo à entrada anterior do histórico para não ser salvo. Um valor de ignorar ambos is
abreviação para ignorar espaço e Ignorados. Um valor de apagados faz com que todos os anteriores
linhas correspondentes à linha atual a serem removidas da lista de histórico antes disso
linha é salva. Qualquer valor que não esteja na lista acima é ignorado. Se HISTCONTROL is
não definido, ou não inclui um valor válido, todas as linhas lidas pelo analisador de shell são
salvo na lista de histórico, sujeito ao valor de HISTOGNORE. O segundo e
as linhas subsequentes de um comando composto de várias linhas não são testadas e são adicionadas a
a história, independentemente do valor de HISTCONTROL.
ARQUIVO HISTÓRICO
O nome do arquivo no qual o histórico de comandos é salvo (ver HISTÓRIA abaixo). o
o valor padrão é ~ / .bash_history. Se não estiver definido, o histórico de comando não é salvo quando
um shell sai.
HISTFILESIZE
O número máximo de linhas contidas no arquivo de histórico. Quando esta variável é
atribuído um valor, o arquivo de histórico é truncado, se necessário, para não conter mais
do que esse número de linhas, removendo as entradas mais antigas. O arquivo de histórico também é
truncado para este tamanho após a gravação quando um shell é encerrado. Se o valor for 0, o
o arquivo de histórico é truncado para o tamanho zero. Valores não numéricos e valores numéricos menos
do que zero inibem o truncamento. O shell define o valor padrão para o valor de
HISTORIAR depois de ler todos os arquivos de inicialização.
HISTOGNORE
Uma lista de padrões separados por dois pontos usada para decidir quais linhas de comando devem ser
salvo na lista de histórico. Cada padrão é ancorado no início da linha
e deve corresponder à linha completa (sem `implícito*'é anexado). Cada padrão é
testado contra a linha após as verificações especificadas por HISTCONTROL são aplicados. Dentro
além dos caracteres normais de correspondência de padrão de shell, `&'corresponde ao anterior
linha de história. `&'pode ser escapado usando uma barra invertida; a barra invertida é removida
antes de tentar uma correspondência. A segunda linha e as subsequentes de uma linha multilinha
comando composto não são testados e são adicionados ao histórico, independentemente do
valor de HISTOGNORE.
HISTORIAR
O número de comandos a serem lembrados no histórico de comandos (ver HISTÓRIA abaixo). Se
o valor é 0, os comandos não são salvos na lista de histórico. Valores numéricos menores
do que zero resulta em cada comando sendo salvo na lista de histórico (não há
limite). O shell define o valor padrão para 500 depois de ler todos os arquivos de inicialização.
HIST TIME FORMATO
Se esta variável for definida e não nula, seu valor será usado como string de formato para
horário de trabalho(3) para imprimir o carimbo de hora associado a cada entrada de histórico exibida por
que o história construídas em. Se esta variável for definida, os carimbos de data / hora são gravados no
arquivo de histórico para que possam ser preservados nas sessões de shell. Isso usa a história
caractere de comentário para distinguir carimbos de data / hora de outras linhas do histórico.
EMPRESA O diretório inicial do usuário atual; o argumento padrão para o cd builtin
comando. O valor desta variável também é usado ao executar a expansão de til.
ARQUIVO HOSPEDEIRO
Contém o nome de um arquivo no mesmo formato que / Etc / hosts isso deveria ser lido
quando o shell precisa completar um nome de host. A lista de possíveis nomes de host
as conclusões podem ser alteradas durante a execução do shell; a próxima vez que o nome do host
a conclusão é tentada após o valor ser alterado, bater adiciona o conteúdo do
novo arquivo para a lista existente. Se ARQUIVO HOSPEDEIRO está definido, mas não tem valor ou não
nomeie um arquivo legível, bater tentativas de ler / Etc / hosts para obter a lista de
possíveis conclusões de nome de host. Quando ARQUIVO HOSPEDEIRO não está definida, a lista de nomes de host é
limpo.
IFS A Interno Campo separador que é usado para divisão de palavras após expansão e para
divida as linhas em palavras com o ler comando embutido. o valor padrão é
`` ''.
IGNORAR DE
Controla a ação de um shell interativo no recebimento de um EOF personagem como o
única entrada. Se definido, o valor é o número de EOF personagens que
deve ser digitado como os primeiros caracteres em uma linha de entrada antes bater saídas. Se o
variável existe, mas não tem um valor numérico ou não tem valor, o padrão
o valor é 10. Se não existir, EOF significa o fim da entrada no shell.
ENTRADA
O nome do arquivo para o readline arquivo de inicialização, substituindo o padrão de ~ / .inputrc
(Vejo LEIA A LINHA abaixo).
GRANDE Usado para determinar a categoria de local para qualquer categoria não selecionada especificamente
com uma variável começando com LC_.
LC_ALL Esta variável substitui o valor de GRANDE e qualquer outro LC_ variável especificando um
categoria de localidade.
LC_COLLATE
Esta variável determina a ordem de agrupamento usada ao classificar os resultados de
expansão do nome do caminho, e determina o comportamento das expressões de alcance, equivalência
classes e sequências de agrupamento dentro da expansão do nome do caminho e correspondência de padrões.
LC_CTYPE
Esta variável determina a interpretação dos personagens e o comportamento de
classes de caracteres dentro da expansão do nome do caminho e correspondência de padrões.
LC_MESSAGES
Esta variável determina a localidade usada para traduzir strings entre aspas duplas
precedido por um $.
LC_NUMERIC
Esta variável determina a categoria de localidade usada para formatação de número.
LINHAS Usado pelo selecionar comando composto para determinar o comprimento da coluna para impressão
listas de seleção. Definido automaticamente se o checkwinsize opção está habilitada ou em um
shell interativo após o recebimento de um SIGWINCH.
MAIL Se este parâmetro for definido para um nome de arquivo ou diretório e o CORREIO variável é
não configurado, bater informa o usuário sobre a chegada do e-mail no arquivo especificado ou
Diretório em formato Maildir.
VERIFICAÇÃO DE CORREIO
Especifica com que frequência (em segundos) bater verifica o correio. O padrão é 60 segundos.
Quando chega a hora de verificar se há e-mails, o shell o faz antes de exibir o principal
mensagem. Se esta variável não estiver definida ou definida para um valor que não seja um número maior
maior ou igual a zero, o shell desabilita a verificação de e-mail.
CORREIO
Uma lista separada por vírgulas de nomes de arquivos a serem verificados para correspondência. A mensagem para ser
impresso quando a correspondência chega em um arquivo particular pode ser especificado separando o
nome do arquivo da mensagem com um `? '. Quando usado no texto da mensagem, $_
expande-se para o nome do arquivo de correio atual. Exemplo:
CORREIO= '/ var / mail / bfox? "Você tem e-mail":~ / shell-mail? "$ _ tem correio!" '
Bater fornece um valor padrão para esta variável, mas a localização do e-mail do usuário
arquivos que ele usa são dependentes do sistema (por exemplo, / var / mail /$ USUÁRIO).
OPTERR Se definido com o valor 1, bater exibe mensagens de erro geradas pelo obter opções
comando embutido (veja SHELL CONSTRUÍDAS EM COMANDOS abaixo). OPTERR é inicializado em 1
cada vez que o shell é chamado ou um script de shell é executado.
PATH O caminho de pesquisa para comandos. É uma lista separada por dois pontos de diretórios em que
o shell procura por comandos (veja COMANDO EXECUÇÃO abaixo). Um comprimento zero (nulo)
nome do diretório no valor de PATH indica o diretório atual. Um nulo
o nome do diretório pode aparecer como dois dois-pontos adjacentes, ou como um inicial ou final
cólon. O caminho padrão depende do sistema e é definido pelo administrador que
instala bater. Um valor comum é ``/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/ bin:/ sbin''.
POSIXLY_CORRECT
Se esta variável está no ambiente quando bater começa, o shell entra posix
modo antes de ler os arquivos de inicialização, como se o --posix opção de invocação tinha sido
fornecido. Se for definido enquanto o shell está em execução, bater permite posix modo, Até parece
o comando conjunto -o posix tinha sido executado.
PROMPT_COMMAND
Se definido, o valor é executado como um comando antes de emitir cada prompt primário.
PROMPT_DIRTRIM
Se definido como um número maior que zero, o valor é usado como o número de
componentes do diretório a serem retidos ao expandir o \w e \W escapes de string de prompt
(Vejo PROVOCAÇÃO abaixo). Os caracteres removidos são substituídos por reticências.
PS1 O valor deste parâmetro é expandido (veja PROVOCAÇÃO abaixo) e usado como o
string de prompt principal. O valor padrão é ``\ s- \ v \ $ ''.
PS2 O valor deste parâmetro é expandido como com PS1 e usado como o secundário
seqüência de caracteres de prompt. O padrão é ``> ''.
PS3 O valor deste parâmetro é usado como prompt para o selecionar comando (ver SHELL
GRAMÁTICA acima).
PS4 O valor deste parâmetro é expandido como com PS1 e o valor é impresso antes
cada comando bater é exibido durante um rastreamento de execução. O primeiro personagem de PS4
é replicado várias vezes, conforme necessário, para indicar vários níveis de
indireção. O padrão é ``+ ''.
SHELL O nome do caminho completo para o shell é mantido nesta variável de ambiente. Se não é
definido quando o shell começa, bater atribui a ele o caminho completo do atual
shell de login do usuário.
FORMATO DE HORA
O valor deste parâmetro é usado como uma string de formato especificando como o tempo
informações para pipelines prefixados com o tempo palavra reservada deve ser exibida.
A % caractere introduz uma sequência de escape que é expandida para um valor de tempo ou
outra informação. As sequências de escape e seus significados são os seguintes; a
colchetes denotam porções opcionais.
%% 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 da CPU, calculada como (% U +% S) /% R.

O opcional p é um dígito que especifica o precisão, o número de dígitos fracionários
após uma vírgula decimal. Um valor de 0 faz com que nenhum ponto decimal ou fração seja
saída. No máximo três casas após a vírgula decimal podem ser especificadas; valores de p
maior que 3 são alterados para 3. Se p não for especificado, o valor 3 será usado.

O opcional l especifica um formato mais longo, incluindo minutos, do formulário MMmSS.FFs.
O valor de p determina se a fração é incluída ou não.

Se esta variável não estiver definida, bater age como se tivesse o valor
$ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys \ t% 3lS'. Se o valor for nulo, sem tempo
informações são exibidas. Uma nova linha final é adicionada quando a string de formato é
exibido.
TMOUT Se definido para um valor maior que zero, TMOUT é tratado como o tempo limite padrão para
que o ler construídas em. o selecionar o comando termina se a entrada não chegar após
TMOUT segundos quando a entrada vem de um terminal. Em um shell interativo, o
valor é interpretado como o número de segundos de espera por uma linha de entrada após
emitindo o prompt primário. Bater termina depois de esperar por aquele número de
segundos se uma linha completa de entrada não chegar.
TMPDIR Se definido, bater usa seu valor como o nome de um diretório no qual bater cria
arquivos temporários para uso do shell.
currículo_automático
Esta variável controla como o shell interage com o usuário e o controle de tarefas. Se
esta variável está definida, comandos simples de uma única palavra sem redirecionamentos são tratados
como candidatos à retomada de um trabalho interrompido existente. Não há ambigüidade
permitido; se houver mais de um trabalho começando com a string digitada, o trabalho
o acesso mais recente é selecionado. O nome de um trabalho interrompido, neste contexto, é
a linha de comando usada para iniciá-lo. Se definido para o valor exato, a string fornecida
deve corresponder exatamente ao nome de um trabalho interrompido; se definido para substring, a corda
fornecido precisa corresponder a uma substring do nome de um trabalho interrompido. O substring
valor fornece funcionalidade análoga ao %? identificador de trabalho (ver TRABALHO CONTROLE
abaixo). Se definido com qualquer outro valor, a string fornecida deve ser um prefixo de um
nome do trabalho interrompido; isso fornece uma funcionalidade análoga à %corda trabalho
identificador.
históricos
Os dois ou três personagens que controlam a expansão e tokenização do histórico (ver
HISTÓRIA EXPANSÃO abaixo). O primeiro personagem é o história expansão personagem,
o personagem que sinaliza o início de uma expansão da história, normalmente `!'. o
o segundo personagem é o rápido substituição personagem, que é usado como abreviação
para reexecutar o comando anterior inserido, substituindo uma string por outra em
o comando. O padrão é `^'. O terceiro caractere opcional é o personagem
que indica que o resto da linha é um comentário quando encontrado como o primeiro
caractere de uma palavra, normalmente `#'. O caractere de comentário de história causa história
substituição a ser ignorada para as palavras restantes na linha. Isso não
necessariamente faz com que o analisador de shell trate o resto da linha como um comentário.

Arrays
Bater fornece variáveis ​​de matriz associativa e indexadas unidimensionais. Qualquer variável pode
ser usado como uma matriz indexada; a declarar builtin irá declarar explicitamente um array. Lá
não há limite máximo para o tamanho de uma matriz, nem qualquer requisito de que os membros sejam indexados
ou atribuído de forma contígua. Matrizes indexadas são referenciadas usando números inteiros (incluindo
expressões aritméticas) e são baseadas em zero; matrizes associativas são referenciadas usando
strings arbitrárias. Salvo indicação em contrário, os índices de matriz indexados devem ser não negativos
inteiros.

Uma matriz indexada é criada automaticamente se qualquer variável for atribuída usando a sintaxe
nome[subscrito]=valor. O subscrito é tratada como uma expressão aritmética que deve
avaliar para um número. Para declarar explicitamente uma matriz indexada, use declarar -a nome (Vejo
SHELL CONSTRUÍDAS EM COMANDOS abaixo). declarar -a nome[subscrito] também é aceito; a subscrito
é ignorado.

Matrizes associativas são criadas usando declarar -A nome.

Os atributos podem ser especificados para uma variável de matriz usando o declarar e somente leitura embutidos.
Cada atributo se aplica a todos os membros de uma matriz.

As matrizes são atribuídas usando atribuições compostas do formulário nome=(valor1 ... valorn),
onde cada valor é da forma [subscrito]=corda. As atribuições de matriz indexada não
requer qualquer coisa, menos corda. Ao atribuir a matrizes indexadas, se os colchetes opcionais
e subscrito são fornecidos, aquele índice é atribuído; caso contrário, o índice do elemento
atribuído é o último índice atribuído pela instrução mais um. A indexação começa em
zero.

Ao atribuir a uma matriz associativa, o subscrito é necessário.

Esta sintaxe também é aceita pelo declarar construídas em. Elementos individuais da matriz podem ser
designado para usar o nome[subscrito]=valor sintaxe introduzida acima. Ao atribuir a um
array indexado, se nome é subscrito por um número negativo, esse número é interpretado como
em relação a um maior que o índice máximo de nome, então os índices negativos contam para trás
do final da matriz, e um índice de -1 faz referência ao último elemento.

Qualquer elemento de uma matriz pode ser referenciado usando $ {nome[subscrito]}. As chaves são
necessário para evitar conflitos com a expansão do nome do caminho. Se subscrito is @ or *, a palavra
se expande para todos os membros de nome. Esses subscritos diferem apenas quando a palavra aparece dentro
aspas duplas. Se a palavra estiver entre aspas, $ {nome[*]} se expande para uma única palavra com o
valor de cada membro da matriz separado pelo primeiro caractere do IFS variável especial,
e $ {nome[@]} expande cada elemento de nome para uma palavra separada. Quando não há matriz
membros, $ {nome[@]} se expande para nada. Se a expansão entre aspas ocorrer dentro de um
palavra, a expansão do primeiro parâmetro é juntada com a parte inicial do
palavra original, e a expansão do último parâmetro é juntada com a última parte do
palavra original. Isso é análogo à expansão dos parâmetros especiais * e @ (Vejo
Destaque parâmetros acima). $ {#nome[subscrito]} se expande para o comprimento de
${nome[subscrito]}. Se subscrito is * or @, a expansão é o número de elementos em
a matriz. Referenciar uma variável de array sem um subscrito é equivalente a referenciar
a matriz com um subscrito de 0. Se o subscrito usado para fazer referência a um elemento de um
array indexado é avaliado como um número menor que zero, é interpretado como relativo a um
maior do que o índice máximo da matriz, portanto, os índices negativos contam a partir do final
da matriz e um índice de -1 faz referência ao último elemento.

Uma variável de matriz é considerada definida se um valor subscrito tiver sido atribuído. O nulo
string é um valor válido.

É possível obter as chaves (índices) de um array bem como os valores.
${!nome[@]} e $ {!nome[*]} expandir para os índices atribuídos na variável de matriz nome. O
tratamento quando em aspas duplas é semelhante à expansão dos parâmetros especiais @
e * entre aspas duplas.

A não definido builtin é usado para destruir arrays. não definido nome[subscrito] destrói a matriz
elemento no índice subscrito. Subscritos negativos para matrizes indexadas são interpretados como
descrito acima. Deve-se ter cuidado para evitar efeitos colaterais indesejados causados ​​pelo nome do caminho
expansão. não definido nome, Onde nome é um array, ou não definido nome[subscrito], Onde subscrito
is * or @, remove todo o array.

A declarar, local e somente leitura cada um dos builtins aceita um -a opção para especificar um índice
array e um -A opção para especificar uma matriz associativa. Se ambas as opções forem fornecidas, -A
tem precedência. O ler incorporado aceita um -a opção de atribuir uma lista de palavras lidas
da entrada padrão para uma matriz. O conjunto e declarar embutidos exibem valores de matriz em
uma forma que permite que eles sejam reutilizados como atribuições.

EXPANSÃO


A expansão é executada na linha de comando após ser dividida em palavras. Há
sete tipos de expansão realizados: cinzas expansão, til expansão, parâmetro e
variável expansão, comando substituição, aritmética expansão, palavra splitting e
pathname expansão.

A ordem das expansões é: expansão da cinta; expansão de til, parâmetro e variável
expansão, expansão aritmética e substituição de comando (feito da esquerda para a direita
moda); divisão de palavras; e expansão do nome do caminho.

Em sistemas que podem suportá-lo, há uma expansão adicional disponível: processo
substituição. Isso é realizado ao mesmo tempo que til, parâmetro, variável e
expansão aritmética e substituição de comandos.

Apenas a expansão de chaves, divisão de palavras e expansão de nome de caminho podem alterar o número de
palavras da expansão; outras expansões expandem uma única palavra para uma única palavra. O único
exceções a isso são as expansões de "$@"E"${nome[@]}"conforme explicado acima (ver
PARÂMETROS).

Cinta Expansão
Cinta expansão é um mecanismo pelo qual strings arbitrárias podem ser geradas. Isto
mecanismo é semelhante a pathname expansão, mas os nomes de arquivo gerados não precisam existir.
Os padrões a serem expandidos com suporte assumem a forma de um opcional preâmbulo, seguido por um
série de strings separadas por vírgulas ou uma expressão de sequência entre um par de chaves,
seguido por um opcional pós-escrito. O preâmbulo é prefixado a cada string contida
dentro das chaves, e o pós-escrito é então anexado a cada string resultante, expandindo
da esquerda para direita.

As expansões da braçadeira podem ser aninhadas. Os resultados de cada string expandida não são classificados; deixou
a ordem correta é preservada. Por exemplo, um{d, c, b}e se expande em `ade ace abe '.

Uma expressão de sequência assume a forma {x..y[..aumento]}, Onde x e y são inteiros ou
caracteres únicos, e aumento, um incremento opcional, é um número inteiro. Quando os inteiros são
fornecido, a expressão se expande para cada número entre x e y, inclusive. Fornecido
inteiros podem ser prefixados com 0 para forçar cada termo a ter a mesma largura. Quando x
or y começa com zero, o shell tenta forçar todos os termos gerados a conter o
mesmo número de dígitos, preenchimento de zero quando necessário. Quando os caracteres são fornecidos, o
expressão se expande para cada caractere lexicograficamente entre x e y, inclusive, usando
a localidade C padrão. Observe que ambos x e y deve ser do mesmo tipo. Quando o
incremento é fornecido, ele é usado como a diferença entre cada termo. O padrão
incremento é 1 ou -1 conforme apropriado.

A expansão da chave é realizada antes de quaisquer outras expansões, e quaisquer caracteres especiais para
outras expansões são preservadas no resultado. É estritamente textual. Bater não
aplicar qualquer interpretação sintática ao contexto da expansão ou o texto entre o
suspensórios.

Uma expansão de contraventamento formado corretamente deve conter abertura e fechamento não citados, e
pelo menos uma vírgula sem aspas ou uma expressão de sequência válida. Qualquer cinta formada incorretamente
expansão permanece inalterada. UMA { or , pode ser citado com uma barra invertida para evitar que seja
considerado parte de uma expressão de chave. Para evitar conflitos com a expansão do parâmetro, o
corda ${ não é considerado elegível para expansão de cinta.

Esta construção é normalmente usada como uma abreviação quando o prefixo comum das strings a serem
gerado é mais longo do que no exemplo acima:

mkdir / usr / local / src / bash / {antigo, novo, dist, bugs}
or
raiz de chown / usr /{ucb / {ex, editar}, lib / {ex?.? *, how_ex}}

A expansão da chave apresenta uma ligeira incompatibilidade com versões históricas de sh. sh
não trata os colchetes de abertura ou fechamento especialmente quando eles aparecem como parte de uma palavra, e
os preserva na saída. Bater remove colchetes de palavras como consequência de colchetes
expansão. Por exemplo, uma palavra inserida para sh as arquivo {1,2} aparece de forma idêntica no
saída. A mesma palavra é produzida como file1 file2 após a expansão por bater. Se estrito
compatibilidade com sh é desejado, comece bater com o +B opção ou desabilita a expansão da chave
com o +B opção para conjunto comando (ver SHELL CONSTRUÍDAS EM COMANDOS abaixo).

Til Expansão
Se uma palavra começar com um caractere til sem aspas (`~'), todos os caracteres anteriores
a primeira barra sem aspas (ou todos os caracteres, se não houver barra sem aspas) são considerados
a prefixo de til. Se nenhum dos caracteres no prefixo til estiver entre aspas, os caracteres
no prefixo til após o til são tratados como possíveis entrar nome. Se este
nome de login é a string nula, o til é substituído pelo valor do parâmetro shell
EMPRESA. Se EMPRESA não está definido, o diretório inicial do usuário executando o shell é substituído
em vez de. Caso contrário, o prefixo til é substituído pelo diretório inicial associado ao
o nome de login especificado.

Se o prefixo til é um `~ + ', o valor da variável shell PWD substitui o til-
prefixo. Se o prefixo til é um `~ - ', o valor da variável shell OLDPWD, se for
definido, é substituído. Se os caracteres após o til no prefixo til consistirem em
um número N, opcionalmente prefixado por um `+ 'ou um` -', o prefixo til é substituído pelo
elemento correspondente da pilha de diretório, como seria exibido pelo dirs
builtin invocado com o prefixo til como argumento. Se os personagens seguindo o
til no prefixo til consiste em um número sem um `+ 'ou` -' inicial, `+ 'é
assumido.

Se o nome de login for inválido ou a expansão do til falhar, a palavra não será alterada.

Cada atribuição de variável é verificada para prefixos til não citados imediatamente após um :
ou o primeiro =. Nestes casos, a expansão do til também é realizada. Consequentemente, pode-se
use nomes de arquivos com tis em atribuições para PATH, CORREIO e CDPATH, e a concha
atribui o valor expandido.

Parâmetro Expansão
O `$'caractere introduz expansão de parâmetro, substituição de comando ou aritmética
expansão. O nome do parâmetro ou símbolo a ser expandido pode ser colocado entre colchetes, que
são opcionais, mas servem para proteger a variável a ser expandida de caracteres imediatamente
seguindo-o, que pode ser interpretado como parte do nome.

Quando chaves são usadas, a chave final correspondente é a primeira `}'não escapou por um
barra invertida ou dentro de uma string entre aspas, e não dentro de uma expansão aritmética incorporada,
substituição de comando ou expansão de parâmetro.

${parâmetro}
O valor de parâmetro é substituído. As chaves são necessárias quando parâmetro é um
parâmetro posicional com mais de um dígito, ou quando parâmetro é seguido por um
caráter que não deve ser interpretado como parte de seu nome. O parâmetro é um
parâmetro shell conforme descrito acima PARÂMETROS) ou uma referência de matriz (Arrays).

Se o primeiro personagem de parâmetro é um ponto de exclamação (!), introduz um nível de
indireção variável. Bater usa o valor da variável formada a partir do resto de
parâmetro como o nome da variável; esta variável é então expandida e esse valor é
usado no resto da substituição, ao invés do valor de parâmetro em si. Isto é
conhecido como indireto expansão. As exceções são as expansões de $ {!prefixo*} e
${!nome[@]} Descrito abaixo. O ponto de exclamação deve seguir imediatamente a chave esquerda
a fim de introduzir indireção.

Em cada um dos casos abaixo, palavra está sujeito a expansão de til, expansão de parâmetro,
substituição de comando e expansão aritmética.

Ao não realizar a expansão da substring, usando os formulários documentados abaixo (por exemplo, :-), bater
testa um parâmetro não definido ou nulo. Omitindo os resultados do cólon em apenas um teste
para um parâmetro que não está definido.

${parâmetro:-palavra}
Use Padrão Valores. Se parâmetro é indefinido ou nulo, a expansão de palavra is
substituído. Caso contrário, o valor de parâmetro é substituído.
${parâmetro:=palavra}
Atribuir Padrão Valores. Se parâmetro é indefinido ou nulo, a expansão de palavra is
atribuído a parâmetro. O valor de parâmetro é então substituído. Posicional
parâmetros e parâmetros especiais não podem ser atribuídos desta forma.
${parâmetro:?palavra}
Ecrã erro if Nulo or Desviar. Se parâmetro é nulo ou indefinido, a expansão de
palavra (ou uma mensagem nesse sentido se palavra não está presente) é escrito para o
erro padrão e o shell, se não for interativo, sai. Caso contrário, o
valor de parâmetro é substituído.
${parâmetro:+palavra}
Use Alternado Valor. Se parâmetro é nulo ou não definido, nada é substituído,
caso contrário, a expansão de palavra é substituído.
${parâmetro:compensar}
${parâmetro:compensar:comprimento}
Substring Expansão. Expande-se para até comprimento caracteres do valor de parâmetro
começando no caractere especificado por compensar. Se parâmetro is @, uma matriz indexada
subscrito por @ or *, ou um nome de array associativo, os resultados diferem como
Descrito abaixo. Se comprimento é omitido, expande-se para a substring do valor de
parâmetro começando no caractere especificado por compensar e estendendo-se até o final de
O valor que. comprimento e compensar são expressões aritméticas (ver ARITMÉTICA AVALIAÇÃO
abaixo).

If compensar avalia para um número menor que zero, o valor é usado como um deslocamento em
caracteres do final do valor de parâmetro. Se comprimento avalia para um número
menor que zero, é interpretado como um deslocamento em caracteres do final do
valor de parâmetro em vez de um número de caracteres, e a expansão é o
personagens entre compensar e esse resultado. Observe que um deslocamento negativo deve ser
separados dos dois pontos por pelo menos um espaço para evitar ser confundido com o :-
expansão.

If parâmetro is @, o resultado é comprimento parâmetros posicionais começando em compensar.
Um negativo compensar é considerado em relação a um maior do que a maior posição
parâmetro, portanto, um deslocamento de -1 avalia o último parâmetro posicional. É um
erro de expansão se comprimento avalia como um número menor que zero.

If parâmetro é um nome de matriz indexado subscrito por @ ou *, o resultado é o
comprimento membros da matriz começando com $ {parâmetro[compensar]}. Um negativo compensar
é obtido em relação a um maior que o índice máximo da matriz especificada. Isto
é um erro de expansão se comprimento avalia como um número menor que zero.

A expansão de substring aplicada a uma matriz associativa produz resultados indefinidos.

A indexação de substring é baseada em zero, a menos que os parâmetros posicionais sejam usados, em
caso em que a indexação começa em 1 por padrão. Se compensar é 0, e a posição
parâmetros são usados, $0 é prefixado à lista.

${!prefixo*}
${!prefixo@}
Names correspondente prefixo. Expande-se para os nomes de variáveis ​​cujos nomes começam com
prefixo, separados pelo primeiro caractere do IFS variável especial. Quando @ is
usado e a expansão aparece entre aspas duplas, cada nome de variável se expande para
uma palavra separada.

${!nome[@]}
${!nome[*]}
Lista of ordem chaves. Se nome é uma variável de array, expande-se para a lista de array
índices (chaves) atribuídos em nome. Se nome não é uma matriz, expande-se para 0 se nome is
definido e nulo caso contrário. Quando @ é usado e a expansão aparece em dobro
aspas, cada chave se expande para uma palavra separada.

${#parâmetro}
Parâmetro comprimento. O comprimento em caracteres do valor de parâmetro is
substituído. Se parâmetro is * or @, o valor substituído é o número de
parâmetros posicionais. Se parâmetro é um nome de array subscrito por * or @,
valor substituído é o número de elementos na matriz. Se parâmetro é um
nome da matriz indexada subscrita por um número negativo, esse número é interpretado como
em relação a um maior que o índice máximo de parâmetro, índices tão negativos
conta de volta a partir do final da matriz, e um índice de -1 faz referência ao último
elemento.

${parâmetro#palavra}
${parâmetro##palavra}
Eliminar correspondente prefixo de cinto de segurança. O palavra é expandido para produzir um padrão, assim como
na expansão do nome do caminho. Se o padrão corresponder ao início do valor de
parâmetro, então o resultado da expansão é o valor expandido de parâmetro com
o padrão de correspondência mais curto (o ``#'' caso) ou o padrão de correspondência mais longo (o
``##'' caso) excluído. Se parâmetro is @ or *, a operação de remoção de padrão é
aplicado a cada parâmetro posicional por sua vez, e a expansão é o resultado
Lista. Se parâmetro é uma variável de array subscrita com @ or *, o padrão
operação de remoção é aplicada a cada membro da matriz, por sua vez, e a expansão
é a lista resultante.

${parâmetro%palavra}
${parâmetro%%palavra}
Eliminar correspondente sufixo de cinto de segurança. O palavra é expandido para produzir um padrão, assim como
na expansão do nome do caminho. Se o padrão corresponder a uma parte final do expandido
valor de parâmetro, então o resultado da expansão é o valor expandido de
parâmetro com o padrão de correspondência mais curto (o ``%'' caso) ou o mais longo
padrão de correspondência (o ``%%'' caso) excluído. Se parâmetro is @ or *, o padrão
operação de remoção é aplicada a cada parâmetro posicional, por sua vez, e o
expansão é a lista resultante. Se parâmetro é uma variável de array subscrita
com @ or *, a operação de remoção de padrão é aplicada a cada membro da matriz
por sua vez, e a expansão é a lista resultante.

${parâmetro/de cinto de segurança/corda}
padrão substituição. O de cinto de segurança é expandido para produzir um padrão, assim como em
expansão do nome do caminho. Parâmetro é expandido e a combinação mais longa de de cinto de segurança contra
seu valor é substituído por corda. Se de cinto de segurança começa com /, todas as partidas de
de cinto de segurança são substituídos por corda. Normalmente, apenas a primeira correspondência é substituída. Se
de cinto de segurança começa com #, deve corresponder ao início do valor expandido de
parâmetro. Se de cinto de segurança começa com %, deve corresponder ao final do expandido
valor de parâmetro. Se corda é nulo, corresponde a de cinto de segurança são excluídos e os /
seguinte de cinto de segurança pode ser omitido. Se parâmetro is @ or *, a substituição
operação é aplicada a cada parâmetro posicional por vez, e a expansão é o
lista resultante. Se parâmetro é uma variável de array subscrita com @ or *,
operação de substituição é aplicada a cada membro da matriz, por sua vez, e o
expansão é a lista resultante.

${parâmetro^de cinto de segurança}
${parâmetro^^de cinto de segurança}
${parâmetro,de cinto de segurança}
${parâmetro,,de cinto de segurança}
Estudos de modificação. Esta expansão modifica o caso de caracteres alfabéticos em
parâmetro. O de cinto de segurança é expandido para produzir um padrão assim como no nome do caminho
expansão. Cada caractere no valor expandido de parâmetro é testado contra
de cinto de segurançae, se corresponder ao padrão, sua caixa será convertida. O padrão deve
não tente combinar mais de um caractere. O ^ operador converte minúsculas
correspondência de letras de cinto de segurança para maiúsculas; a , operador converte correspondentes em maiúsculas
letras minúsculas. O ^^ e ,, as expansões convertem cada caractere correspondente em
o valor expandido; a ^ e , as expansões correspondem e convertem apenas o primeiro
caractere no valor expandido. Se de cinto de segurança é omitido, é tratado como um ?,
que corresponde a cada personagem. Se parâmetro is @ or *, a modificação do caso
operação é aplicada a cada parâmetro posicional por vez, e a expansão é o
lista resultante. Se parâmetro é uma variável de array subscrita com @ or *,
operação de modificação de caso é aplicada a cada membro da matriz, por sua vez, e o
expansão é a lista resultante.

Command Substituição
Command substituição permite a saída de um comando para substituir o nome do comando. Lá
são duas formas:

$(comando)
or
`comando`

Bater executa a expansão executando comando e substituindo a substituição de comando
com a saída padrão do comando, com quaisquer novas linhas finais excluídas. Integrado
as novas linhas não são excluídas, mas podem ser removidas durante a divisão de palavras. O comando
substituição $ (gato lima) pode ser substituído pelo equivalente, mas mais rápido $ ( lima).

Quando a forma de substituição de backquote do estilo antigo é usada, a barra invertida mantém seu literal
significado exceto quando seguido por $, `ou \. O primeiro crase não precedido por um
a barra invertida termina a substituição do comando. Ao usar o $ (comando) formulário, todos
os caracteres entre parênteses constituem o comando; nenhum é tratado de maneira especial.

As substituições de comandos podem ser aninhadas. Para aninhar ao usar a forma de aspas, escape do
aspas internas com barras invertidas.

Se a substituição aparecer entre aspas duplas, divisão de palavras e expansão do nome do caminho
não são executados nos resultados.

Aritmética Expansão
A expansão aritmética permite a avaliação de uma expressão aritmética e a
substituição do resultado. O formato da expansão aritmética é:

$ ((expressão))

O formato antigo $[expressão] está obsoleto e será removido nas próximas versões do
festança.

A expressão é tratado como se estivesse entre aspas duplas, mas uma aspa dupla dentro
os parênteses não são tratados de maneira especial. Todos os tokens na expressão passam pelo parâmetro
e expansão de variável, substituição de comando e remoção de citação. O resultado é tratado como
a expressão aritmética a ser avaliada. As expansões aritméticas podem ser aninhadas.

A avaliação é realizada de acordo com as regras listadas abaixo em ARITMÉTICA
AVALIAÇÃO. Se expressão é inválido, bater imprime uma mensagem indicando falha e não
a substituição ocorre.

Extração Substituição
Extração substituição é compatível com sistemas que suportam canais nomeados (PEPS) Ou
/ dev / fd método de nomear arquivos abertos. Tem a forma de <(Lista) or >(Lista). O
processo Lista é executado com sua entrada ou saída conectada a um FIFO ou algum arquivo em / dev / fd.
O nome deste arquivo é passado como um argumento para o comando atual como resultado do
expansão. Se o >(Lista) formulário é usado, escrever no arquivo fornecerá entrada para Lista.
Se o <(Lista) formulário é usado, o arquivo passado como um argumento deve ser lido para obter o
saída de Lista.

Quando disponível, a substituição do processo é realizada simultaneamente com o parâmetro e
expansão variável, substituição de comando e expansão aritmética.

Word Dividir
O shell verifica os resultados da expansão de parâmetro, substituição de comando e aritmética
expansão que não ocorreu entre aspas duplas para palavra splitting.

A concha trata cada personagem de IFS como um delimitador, e divide os resultados do outro
expansões em palavras usando esses caracteres como terminadores de campo. Se IFS não está definido, ou
seu valor é exatamente , o padrão, então sequências de , ,
e no início e no final dos resultados das expansões anteriores são
ignorado, e qualquer sequência de IFS caracteres que não estão no início ou no fim servem para delimitar
palavras. Se IFS tem um valor diferente do padrão, então sequências de espaços em branco
caracteres espaço e aba são ignorados no início e no final da palavra, desde que o
o caractere de espaço em branco está no valor de IFS (a IFS caractere de espaço em branco). Qualquer personagem
in IFS aquilo não é IFS espaço em branco, junto com qualquer adjacente IFS caracteres de espaço em branco,
delimita um campo. Uma sequência de IFS os caracteres de espaço em branco também são tratados como delimitadores.
Se o valor de IFS é nulo, não ocorre divisão de palavras.

Argumentos nulos explícitos ("" or '') são retidos. Argumentos nulos implícitos não citados,
resultantes da expansão de parâmetros que não possuem valores, são removidos. Se um
parâmetro sem valor é expandido entre aspas duplas, um argumento nulo resulta e é
retido.

Observe que, se nenhuma expansão ocorrer, nenhuma divisão será executada.

Pathname Expansão
Após a divisão de palavras, a menos que o -f opção foi definida, bater verifica cada palavra em busca de
caracteres *, ? e [. Se um desses caracteres aparecer, a palavra é considerada como
a de cinto de segurança, e substituído por uma lista classificada em ordem alfabética de nomes de arquivos que correspondem ao
padrão (ver padrão Correspondente abaixo). Se nenhum nome de arquivo correspondente for encontrado, e o shell
opção nullglob não estiver habilitado, a palavra não será alterada. Se o nullglob opção
definido, e nenhuma correspondência for encontrada, a palavra é removida. Se o Failglob opção de shell está definida,
e nenhuma correspondência for encontrada, uma mensagem de erro é impressa e o comando não é executado. Se
a opção shell Nocaseglob está habilitado, a correspondência é realizada independentemente do caso
de caracteres alfabéticos. Observe que ao usar expressões de intervalo como [az] (veja abaixo),
letras do outro caso podem ser incluídas, dependendo da configuração de LC_COLLATE. Quando um
padrão é usado para a expansão do nome do caminho, o caractere ``. '' no início de um nome ou
imediatamente após uma barra deve ser correspondida explicitamente, a menos que a opção do shell globo
está definido. Ao combinar um nome de caminho, o caractere de barra deve sempre corresponder explicitamente.
Em outros casos, o ``. '' personagem não é tratado de maneira especial. Veja a descrição de
comprar abaixo sob SHELL CONSTRUÍDAS EM COMANDOS para uma descrição do Nocaseglob, nullglob,
Failglob e globo opções de shell.

A GLOBIGNOR variável shell pode ser usada para restringir o conjunto de nomes de arquivos que correspondem a um
de cinto de segurança. Se GLOBIGNOR é definido, cada nome de arquivo correspondente que também corresponde a um dos
padrões em GLOBIGNOR é removido da lista de correspondências. Os nomes dos arquivos ``. '' e
`` .. '' são sempre ignorados quando GLOBIGNOR está definido e não nulo. No entanto, a configuração
GLOBIGNOR para um valor não nulo tem o efeito de habilitar o globo opção de shell, então todos
outros nomes de arquivo começando com um ``. '' vai combinar. Para obter o antigo comportamento de ignorar
nomes de arquivos começando com um ``. '', faço ``. * '' um dos padrões em GLOBIGNOR. O
globo opção é desabilitada quando GLOBIGNOR não está definido.

padrão Correspondente

Qualquer caractere que apareça em um padrão, exceto os caracteres especiais do padrão
descrito abaixo, corresponde a si mesmo. O caractere NUL pode não ocorrer em um padrão. UMA
a barra invertida escapa do caractere a seguir; a barra invertida de escape é descartada quando
Coincidindo. Os caracteres do padrão especial devem ser colocados entre aspas se eles devem ser correspondidos
literalmente.

Os caracteres de padrão especial têm os seguintes significados:

* Corresponde a qualquer string, incluindo a string nula. Quando o estrela glob concha
opção está habilitada, e * é usado em um contexto de expansão de nome de caminho, dois
adjacente *s usados ​​como um único padrão corresponderão a todos os arquivos e zero ou mais
diretórios e subdiretórios. Se seguido por um /, dois adjacentes *lavagem
corresponder apenas a diretórios e subdiretórios.
? Corresponde a qualquer caractere único.
[...] Corresponde a qualquer um dos caracteres incluídos. Um par de caracteres separados
por um hífen denota um alcance expressão; qualquer personagem que caia entre
esses dois caracteres, inclusive, usando a comparação da localidade atual
seqüência e conjunto de caracteres, é correspondido. Se o primeiro personagem seguindo
que o [ é um ! ou um ^ então, qualquer caractere não incluído é correspondido. O
a ordem de classificação de caracteres em expressões de intervalo é determinada pelo
localidade atual e os valores do LC_COLLATE or LC_ALL variáveis ​​de shell,
se definido. Para obter a interpretação tradicional das expressões de intervalo,
onde [de Anúncios] é equivalente a [abcd], defina o valor do LC_ALL variável shell
para C, ou habilite o globasciiraranges opção de shell. UMA - pode ser correspondido por
incluindo-o como o primeiro ou último caractere do conjunto. UMA ] pode ser combinado
incluindo-o como o primeiro caractere do conjunto.

Dentro [ e ], personagem aulas pode ser especificado usando a sintaxe
[:classe:], Onde classe é uma das seguintes classes definidas no POSIX
padrão:
alnum alfa ascii em branco controle dígito gráfico diminuir impressão ponto espaço superior palavra
xdígito
Uma classe de personagem corresponde a qualquer personagem pertencente a essa classe. O palavra
classe de caractere corresponde a letras, dígitos e o caractere _.

Dentro [ e ], um equivalência classe pode ser especificado usando a sintaxe
[=c=], que corresponde a todos os caracteres com o mesmo peso de agrupamento (como
definido pelo local atual) como o caractere c.

Dentro [ e ], a sintaxe [.símbolo.] corresponde ao símbolo de agrupamento símbolo.

Se o extglob opção de shell é habilitada usando o comprar embutido, vários padrões estendidos
operadores correspondentes são reconhecidos. Na descrição a seguir, um lista de padrões é uma lista
de um ou mais padrões separados por um |. Os padrões compostos podem ser formados usando um ou
mais dos seguintes subpadrões:

?(lista de padrões)
Corresponde a zero ou uma ocorrência 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 dados
@(lista de padrões)
Corresponde a um dos padrões fornecidos
!(lista de padrões)
Corresponde a qualquer coisa, exceto um dos padrões fornecidos

Parâmetros Remoção
Após as expansões anteriores, todas as ocorrências não citadas dos personagens \, ' e "
que não resultaram de uma das expansões acima são removidos.

REDIRECÇÃO


Antes de um comando ser executado, sua entrada e saída podem ser redirecionado usando um especial
notação interpretada pelo shell. O redirecionamento permite que os identificadores de arquivo de comandos sejam
duplicado, aberto, fechado, feito para se referir a arquivos diferentes, e pode alterar os arquivos que
o comando lê e grava em. O redirecionamento também pode ser usado para modificar os identificadores de arquivo em
o ambiente de execução do shell atual. Os seguintes operadores de redirecionamento podem preceder
ou aparecer em qualquer lugar dentro de um simples comando ou pode seguir um comando. Redirecionamentos são
processados ​​na ordem em que aparecem, da esquerda para a direita.

Cada redirecionamento que pode ser precedido por um número descritor de arquivo pode ser precedido
por uma palavra da forma {nome da var} Neste caso, para cada operador de redirecionamento, exceto> & -
e <& -, o shell irá alocar um descritor de arquivo maior ou igual a 10 e atribuir
a nome da var. Se> & - ou <& - é precedido por {nome da var}, o valor de nome da var define o
descritor de arquivo para fechar.

Nas descrições a seguir, se o número do descritor de arquivo for omitido, e o primeiro
caráter do operador de redirecionamento é <, o redirecionamento se refere à entrada padrão
(descritor de arquivo 0). Se o primeiro caractere do operador de redirecionamento for >,
o redirecionamento se refere à saída padrão (descritor de arquivo 1).

A palavra após o operador de redirecionamento nas descrições a seguir, a menos que
observado de outra forma, está sujeito a expansão de chave, expansão de til, parâmetro e variável
expansão, substituição de comando, expansão aritmética, remoção de citação, expansão de nome de caminho,
e divisão de palavras. Se se expandir para mais de uma palavra, bater relata um erro.

Observe que a ordem dos redirecionamentos é significativa. Por exemplo, o comando

ls > lista de endereços 2>&1

direciona a saída padrão e o erro padrão para o arquivo lista de endereços, enquanto o comando

ls 2>&1 > lista de endereços

direciona apenas a saída padrão para o arquivo lista de endereços, porque o erro padrão foi
duplicado da saída padrão antes que a saída padrão fosse redirecionada para lista de endereços.

Bater lida com vários nomes de arquivo especialmente quando eles são usados ​​em redirecionamentos, conforme descrito
na seguinte tabela:

/ dev / fd /fd
If fd é um inteiro válido, descritor de arquivo fd está duplicado.
/ dev / stdin
O descritor de arquivo 0 está duplicado.
/ dev / stdout
O descritor de arquivo 1 está duplicado.
/ dev / stderr
O descritor de arquivo 2 está duplicado.
/ dev / tcp /hospedeiro/porta
If hospedeiro é um nome de host ou endereço de Internet válido e porta é uma porta inteira
número ou nome do serviço, bater tenta abrir o soquete TCP correspondente.
/ dev / udp /hospedeiro/porta
If hospedeiro é um nome de host ou endereço de Internet válido e porta é uma porta inteira
número ou nome do serviço, bater tenta abrir o soquete UDP correspondente.

Uma falha ao abrir ou criar um arquivo faz com que o redirecionamento falhe.

Redirecionamentos usando descritores de arquivo maiores que 9 devem ser usados ​​com cuidado, pois podem
conflito com descritores de arquivo que o shell usa internamente.

Observe que o exec O comando embutido pode fazer com que os redirecionamentos tenham efeito no shell atual.

Redirecionando Entrada
O redirecionamento da entrada faz com que o arquivo cujo nome resulte da expansão de palavra ser
aberto para leitura no descritor de arquivo n, ou a entrada padrão (descritor de arquivo 0) se n is
não especificado.

O formato geral para redirecionar a entrada é:

[n]<palavra

Redirecionando saída
O redirecionamento da saída faz com que o arquivo cujo nome resulte da expansão de palavra ser
aberto para escrita no descritor de arquivo n, ou a saída padrão (descritor de arquivo 1) se n
não é especificado. Se o arquivo não existir, ele será criado; se existe é
truncado para o tamanho zero.

O formato geral para redirecionar a saída é:

[n]>palavra

Se o operador de redirecionamento for >, e as nocturno opção para conjunto embutido foi
habilitado, o redirecionamento falhará se o arquivo cujo nome resulta da expansão de
palavra existe e é um arquivo normal. Se o operador de redirecionamento for >|, ou o redirecionamento
operador é > e os votos de nocturno opção para conjunto comando embutido não está habilitado, o
o redirecionamento é tentado mesmo se o arquivo nomeado por palavra existe.

Anexando Redirecionado saída
O redirecionamento da saída desta forma faz com que o arquivo cujo nome resulte do
expansão de palavra a ser aberto para anexar no descritor de arquivo n, ou a saída padrão
(descritor de arquivo 1) se n não é especificado. Se o arquivo não existir, ele será criado.

O formato geral para anexar saída é:

[n]>>palavra

Redirecionando Padrão saída e Padrão erro
Esta construção permite a saída padrão (descritor de arquivo 1) e o erro padrão
saída (descritor de arquivo 2) para ser redirecionado para o arquivo cujo nome é a expansão de
palavra.

Existem dois formatos para redirecionar a saída padrão e o erro padrão:

&>palavra
e
>&palavra

Das duas formas, a primeira é a preferida. Isso é semanticamente equivalente a

>palavra 2>&1

Ao usar o segundo formulário, palavra não pode se expandir para um número ou -. Se assim for, outro
operadores de redirecionamento se aplicam (veja Duplicação Envie o Descritores abaixo) para compatibilidade
razões.

Anexando Padrão saída e Padrão erro
Esta construção permite a saída padrão (descritor de arquivo 1) e o erro padrão
saída (descritor de arquivo 2) a ser anexado ao arquivo cujo nome é a expansão de palavra.

O formato para anexar saída padrão e erro padrão é:

& >>palavra

Isso é semanticamente equivalente a

>>palavra 2>&1

(Vejo Duplicação Envie o Descritores abaixo).

Aqui DOCUMENTOS
Este tipo de redirecionamento instrui o shell a ler a entrada da fonte atual até que um
linha contendo apenas delimitador (sem espaços em branco à direita) é visto. Todas as linhas lidas
até esse ponto, são usados ​​como entrada padrão para um comando.

O formato dos here-documents é:

<<[-]palavra
aqui-documento
delimitador

Sem expansão de parâmetro e variável, substituição de comando, expansão aritmética ou
a expansão do nome do caminho é realizada em palavra. Se algum personagem em palavra são citados, o
delimitador é o resultado da remoção da cotação em palavra, e as linhas no here-document são
não expandido. Se palavra está sem aspas, todas as linhas do here-document estão sujeitas a
expansão de parâmetro, substituição de comando e expansão aritmética, o caractere
seqüência \ é ignorado, e \ deve ser usado para citar os caracteres \, $ e `.

Se o operador de redirecionamento for << -, então todos os caracteres de tabulação iniciais são retirados de
linhas de entrada e a linha contendo delimitador. Isso permite here-documents dentro do shell
os scripts sejam recuados de maneira natural.

Aqui Cordas
Uma variante deste documento, o formato é:

<<palavra

A palavra sofre expansão de cinta, expansão de til, expansão de parâmetro e variável,
substituição de comando, expansão aritmética e remoção de cotação. Expansão do nome do caminho e
a divisão de palavras não é executada. O resultado é fornecido como uma única string para o
comando em sua entrada padrão.

Duplicação Envie o Descritores
O operador de redirecionamento

[n]<&palavra

é usado para duplicar os descritores do arquivo de entrada. Se palavra se expande para um ou mais dígitos, o
descritor de arquivo denotado por n é feito para ser uma cópia desse descritor de arquivo. Se os dígitos
in palavra não especifique um descritor de arquivo aberto para entrada, ocorre um erro de redirecionamento. Se
palavra avalia como -, descritor de arquivo n está fechado. Se n não é especificado, o padrão
entrada (descritor de arquivo 0) é usado.

O operador

[n]>&palavra

é usado de forma semelhante para duplicar descritores de arquivo de saída. Se n não é especificado, o
saída padrão (descritor de arquivo 1) é usada. Se os dígitos em palavra não especifique um arquivo
descritor aberto para saída, ocorre um erro de redirecionamento. Se palavra avalia como -, Arquivo
descritor n está fechado. Como um caso especial, se n é omitido, e palavra não se expande para
um ou mais dígitos ou -, a saída padrão e o erro padrão são redirecionados como
descrito anteriormente.

em movimento Envie o Descritores
O operador de redirecionamento

[n]<&dígito-

move o descritor de arquivo dígito para o descritor de arquivo n, ou a entrada padrão (arquivo
descritor 0) se n não é especificado. dígito é fechado após ser duplicado para n.

Da mesma forma, o operador de redirecionamento

[n]>&dígito-

move o descritor de arquivo dígito para o descritor de arquivo n, ou a saída padrão (arquivo
descritor 1) se n não é especificado.

Abertura Envie o Descritores para Leitura e Escrevendo
O operador de redirecionamento

[n]<>palavra

faz com que o arquivo cujo nome é a expansão de palavra para ser aberto para leitura e
escrever no descritor de arquivo nou no descritor de arquivo 0 se n não é especificado. Se o arquivo
não existe, é criado.

ALIASES


Alias permitir que uma string seja substituída por uma palavra quando for usada como a primeira palavra de um
comando simples. O shell mantém uma lista de apelidos que podem ser definidos e não definidos com o
aliás e Unalias comandos embutidos (veja SHELL CONSTRUÍDAS EM COMANDOS abaixo). A primeira palavra de
cada comando simples, se não estiver entre aspas, é verificado para ver se possui um alias. Se sim, essa palavra
é substituído pelo texto do alias. Os personagens /, $, ` e = e qualquer uma das conchas
metacaracteres ou citando caracteres listados acima podem não aparecer em um nome de alias. O
o texto de substituição pode conter qualquer entrada de shell válida, incluindo metacaracteres de shell. O
a primeira palavra do texto de substituição é testada para aliases, mas uma palavra que é idêntica a
um alias sendo expandido não é expandido uma segunda vez. Isso significa que pode-se usar um apelido ls
para ls -F, por exemplo, e bater não tenta expandir recursivamente o texto de substituição.
Se o último caractere do valor do alias for um em branco, então a próxima palavra de comando após
o alias também é verificado para expansão de alias.

Aliases são criados e listados com o aliás comando, e removido com o Unalias
comando.

Não há mecanismo para usar argumentos no texto de substituição. Se os argumentos são
necessário, uma função shell deve ser usada (ver FUNÇÕES abaixo).

Os aliases não são expandidos quando o shell não é interativo, a menos que o expand_aliases
opção de shell é definida usando comprar (veja a descrição de comprar para SHELL CONSTRUÍDAS EM COMANDOS
abaixo).

As regras relativas à definição e uso de apelidos são um tanto confusas. Bater
sempre lê pelo menos uma linha completa de entrada antes de executar qualquer um dos comandos no
essa linha. Os aliases são expandidos quando um comando é lido, não quando é executado.
Portanto, uma definição de alias que aparece na mesma linha de outro comando não leva
efeito até a próxima linha de entrada ser lida. Os comandos que seguem a definição de alias
nessa linha não são afetados pelo novo alias. Este comportamento também é um problema quando
funções são executadas. Aliases são expandidos quando uma definição de função é lida, não quando
a função é executada, porque uma definição de função é ela própria um comando composto. Como
como consequência, os aliases definidos em uma função não estão disponíveis até depois dessa função
É executado. Para estar seguro, sempre coloque as definições de alias em uma linha separada e não use
aliás em comandos compostos.

Para quase todas as finalidades, apelidos são substituídos por funções de shell.

FUNÇÕES


Uma função shell, definida conforme descrito acima em SHELL GRAMÁTICA, armazena uma série de
comandos para execução posterior. Quando o nome de uma função shell é usado como um simples
nome do comando, a lista de comandos associados a esse nome de função é executada.
As funções são executadas no contexto do shell atual; nenhum novo processo é criado para
interpretá-los (compare isso com a execução de um script de shell). Quando uma função é
executado, os argumentos para a função tornam-se os parâmetros posicionais durante sua
execução. O parâmetro especial # é atualizado para refletir a mudança. Parâmetro especial 0
está inalterado. O primeiro elemento do FUNCNAME variável é definida para o nome do
função enquanto a função está em execução.

Todos os outros aspectos do ambiente de execução do shell são idênticos entre uma função e
seu chamador com estas exceções: o DEBUG e RETORNO armadilhas (veja a descrição do
armadilha embutido sob SHELL CONSTRUÍDAS EM COMANDOS abaixo) não são herdados, a menos que a função tenha
foi dado o traçar atributo (veja a descrição do declarar embutido abaixo) ou o
-o função opção de shell foi habilitada com o conjunto embutido (neste caso, todos
funções herdam o DEBUG e RETORNO armadilhas), e o ERR armadilha não é herdada a menos
que o -o rastreamento de erro opção de shell foi habilitada.

Variáveis ​​locais para a função podem ser declaradas com o local comando embutido.
Normalmente, as variáveis ​​e seus valores são compartilhados entre a função e seu chamador.

A FUNCEST variável, se definida para um valor numérico maior que 0, define um máximo
nível de aninhamento de funções. As invocações de função que excedem o limite causam todo o
comando para abortar.

Se o comando embutido retorno é executado em uma função, a função é concluída e
a execução é retomada com o próximo comando após a chamada da função. Qualquer comando associado
com o RETORNO trap é executado antes de retomar a execução. Quando uma função é concluída, o
valores dos parâmetros posicionais e do parâmetro especial # são restaurados aos valores
eles tinham antes da execução da função.

Nomes de funções e definições podem ser listados com o -f opção para declarar or formatado
comandos embutidos. O -F opção para declarar or formatado irá listar os nomes das funções apenas
(e, opcionalmente, o arquivo de origem e o número da linha, se o extirpar opção de shell está habilitada).
As funções podem ser exportadas para que os subshells os tenham automaticamente definidos com o -f
opção para exportar construídas em. Uma definição de função pode ser excluída usando o -f opção para
que o não definido construídas em. Observe que funções e variáveis ​​de shell com o mesmo nome podem resultar
em várias entradas com nomes idênticos no ambiente passadas para os filhos do shell.
Deve-se ter cuidado nos casos em que isso possa causar problemas.

As funções podem ser recursivas. O FUNCEST variável pode ser usada para limitar a profundidade do
pilha de chamadas de função e restringe o número de invocações de função. Por padrão, sem limite
é imposto ao número de chamadas recursivas.

ARITMÉTICA AVALIAÇÃO


O shell permite que expressões aritméticas sejam avaliadas, sob certas circunstâncias (veja
que o deixar e declarar comandos embutidos e Aritmética Expansão) A avaliação é feita em
inteiros de largura fixa sem verificação de estouro, embora a divisão por 0 seja interceptada e
sinalizado como um erro. Os operadores e sua precedência, associatividade e valores são
o mesmo que na linguagem C. A seguinte lista de operadores é agrupada em níveis de
operadores de precedência igual. Os níveis são listados em ordem decrescente de precedência.

id++ id--
variável pós-incremento e pós-decremento
++id --id
pré-incremento e pré-decremento variável
- + menos unário e mais
! ~ negação lógica e bit a bit
** exponenciação
* / % multiplicação, divisão, resto
+ - adição subtração
<< >> deslocamentos bit a bit à esquerda e à direita
<= >= < >
comparação
== != igualdade e desigualdade
& AND bit a bit
^ OU exclusivo bit a bit
| bit a bit OU
&& E lógico
|| OU lógico
expr?expr:expr
operador condicional
= *= /= %= += -= << = >> = &= ^= |=
atribuição
expr1 , expr2
vírgula

Variáveis ​​de shell são permitidas como operandos; a expansão do parâmetro é realizada antes do
expressão é avaliada. Dentro de uma expressão, as variáveis ​​de shell também podem ser referenciadas por
nome sem usar a sintaxe de expansão de parâmetro. Uma variável de shell que é nula ou indefinida
avalia como 0 quando referenciado por nome sem usar a sintaxe de expansão de parâmetro. O
o valor de uma variável é avaliado como uma expressão aritmética quando é referenciado, ou
quando uma variável que recebeu o número inteiro atributo usando declarar -i é atribuído um
valor. Um valor nulo é avaliado como 0. Uma variável de shell não precisa ter seu número inteiro atributo
ativado para ser usado em uma expressão.

Constantes com 0 à esquerda são interpretadas como números octais. Um 0x ou 0X à esquerda denota
hexadecimal. Caso contrário, os números assumem a forma [base#] n, onde o opcional base é um
número decimal entre 2 e 64 representando a base aritmética, e n é um número em
essa base. Se base# é omitido, então a base 10 é usada. Ao especificar n, os dígitos
maior do que 9 são representados pelas letras minúsculas, as letras maiúsculas, @ e _,
naquela ordem. Se base é menor ou igual a 36, ​​letras maiúsculas e minúsculas podem
ser usado indistintamente para representar números entre 10 e 35.

Os operadores são avaliados em ordem de precedência. As subexpressões entre parênteses são
avaliado primeiro e pode substituir as regras de precedência acima.

CONDICIONAL EXPRESSÕES


Expressões condicionais são usadas pelo [[ comando composto e o teste e [ builtin
comandos para testar atributos de arquivo e realizar comparações aritméticas e de strings.
As expressões são formadas a partir das seguintes primárias unárias ou binárias. Caso existam lima argumento
para uma das primárias está na forma / dev / fd / n, então descritor de arquivo n está checado. Se
que o lima argumento para uma das primárias é um dos / dev / stdin, / dev / stdoutou
/ dev / stderr, o descritor de arquivo 0, 1 ou 2, respectivamente, é verificado.

A menos que especificado de outra forma, as primárias que operam em arquivos seguem links simbólicos e
operar no destino do link, em vez do link em si.

Quando usado com [[, < e > operadores classificam lexicograficamente usando a localidade atual.
A teste o comando classifica usando a ordenação ASCII.

-a lima
Verdadeiro se lima existe.
-b lima
Verdadeiro se lima existe e é um arquivo especial de bloco.
-c lima
Verdadeiro se lima existe e é um arquivo especial de caracteres.
-d lima
Verdadeiro se lima existe e é um diretório.
-e lima
Verdadeiro se lima existe.
-f lima
Verdadeiro se lima existe e é um arquivo normal.
-g lima
Verdadeiro se lima existe e é set-group-id.
-h lima
Verdadeiro se lima existe e é um link simbólico.
-k lima
Verdadeiro se lima existe e seu bit `` sticky '' está definido.
-p lima
Verdadeiro se lima existe e é um pipe nomeado (FIFO).
-r lima
Verdadeiro se lima existe e é legível.
-s lima
Verdadeiro se lima existe e tem um tamanho maior que zero.
-t fd Verdadeiro se o descritor de arquivo fd está aberto e refere-se a um terminal.
-u lima
Verdadeiro se lima existe e seu bit set-user-id está definido.
-w lima
Verdadeiro se lima existe e é gravável.
-x lima
Verdadeiro se lima existe e é executável.
-G lima
Verdadeiro se lima existe e é propriedade do id de grupo efetivo.
-L lima
Verdadeiro se lima existe e é um link simbólico.
-N lima
Verdadeiro se lima existe e foi modificado desde a última leitura.
-O lima
Verdadeiro se lima existe e é propriedade do id de usuário efetivo.
-S lima
Verdadeiro se lima existe e é um soquete.
file1 -E se file2
Verdadeiro se file1 e file2 referem-se ao mesmo dispositivo e números de inode.
file1 -nt file2
Verdadeiro se file1 é mais recente (de acordo com a data de modificação) do que file2, ou se file1
existe e file2 não.
file1 -ot file2
Verdadeiro se file1 É mais velho que file2, ou se file2 existe e file1 não.
-o nome da opção
Verdadeiro se a opção de shell nome da opção está ativado. Veja a lista de opções sob o
descrição de -o opção para conjunto embutido abaixo.
-v nome da var
Verdadeiro se a variável shell nome da var está definido (foi atribuído um valor).
-R nome da var
Verdadeiro se a variável shell nome da var está definido e é uma referência de nome.
-z corda
Verdadeiro se o comprimento de corda é zero.
corda
-n corda
Verdadeiro se o comprimento de corda é diferente de zero.

string1 == string2
string1 = string2
Verdadeiro se as strings forem iguais. = deve ser usado com o teste comando para POSIX
conformidade. Quando usado com o [[ comando, este executa a correspondência de padrões como
descrito acima (Compound comandos).

string1 != string2
Verdadeiro se as strings não forem iguais.

string1 < string2
Verdadeiro se string1 classifica antes string2 lexicograficamente.

string1 > string2
Verdadeiro se string1 classifica depois string2 lexicograficamente.

argumento1 OP argumento2
OP é um dos -eq, -um, -lt, Eles, -gtou -dar. Esses operadores binários aritméticos
retorna verdadeiro se argumento1 é igual a, não igual a, menor que, menor ou igual a,
maior ou igual a argumento2, Respectivamente. arg1 e argumento2 pode ser
inteiros positivos ou negativos.

SIMPLES COMANDO EXPANSÃO


Quando um comando simples é executado, o shell realiza as seguintes expansões,
atribuições e redirecionamentos da esquerda para a direita.

1. As palavras que o analisador marcou como atribuições de variáveis ​​(aquelas que precedem o
nome do comando) e os redirecionamentos são salvos para processamento posterior.

2. As palavras que não são atribuições ou redirecionamentos variáveis ​​são expandidas. Caso existam
as palavras permanecem após a expansão, a primeira palavra é considerada o nome do comando
e as palavras restantes são os argumentos.

3. Os redirecionamentos são realizados conforme descrito acima em REDIRECÇÃO.

4. O texto após o = em cada atribuição de variável sofre expansão de til,
expansão de parâmetro, substituição de comando, expansão aritmética e remoção de citação
antes de ser atribuído à variável.

Se nenhum nome de comando resultar, as atribuições de variáveis ​​afetam o ambiente de shell atual.
Caso contrário, as variáveis ​​são adicionadas ao ambiente do comando executado e não
afetar o ambiente atual do shell. Se alguma das atribuições tentar atribuir um
valor para uma variável somente leitura, ocorre um erro e o comando sai com um valor diferente de zero
estado.

Se nenhum nome de comando resultar, os redirecionamentos são executados, mas não afetam o atual
ambiente de casca. Um erro de redirecionamento faz com que o comando saia com um status diferente de zero.

Se houver um nome de comando restante após a expansão, a execução continuará conforme descrito abaixo.
Caso contrário, o comando sai. Se uma das expansões continha uma substituição de comando,
o status de saída do comando é o status de saída da última substituição de comando
realizada. Se não houver substituições de comando, o comando sai com um status de
zero.

COMANDO EXECUÇÃO


Depois que um comando foi dividido em palavras, se resultar em um comando simples e um
lista opcional de argumentos, as seguintes ações são executadas.

Se o nome do comando não contiver barras, o shell tentará localizá-lo. Se existe
uma função shell com esse nome, essa função é invocada conforme descrito acima em FUNÇÕES.
Se o nome não corresponder a uma função, o shell procura por ele na lista de
builtins. Se uma correspondência for encontrada, esse builtin é invocado.

Se o nome não for uma função de shell nem embutido e não contiver barras, bater
pesquisa cada elemento do PATH para um diretório contendo um arquivo executável daquele
nome. Bater usa uma tabela de hash para lembrar os nomes de caminho completos dos arquivos executáveis ​​(veja hash
para SHELL CONSTRUÍDAS EM COMANDOS abaixo). Uma pesquisa completa dos diretórios em PATH is
executado apenas se o comando não for encontrado na tabela de hash. Se a busca for
malsucedido, o shell procura por uma função de shell definida chamada
comando_not_found_handle. Se essa função existe, ela é invocada com o original
comando e os argumentos do comando original como seus argumentos, e a saída da função
status torna-se o status de saída do shell. Se essa função não for definida, o shell
imprime uma mensagem de erro e retorna um status de saída de 127.

Se a pesquisa for bem-sucedida ou se o nome do comando contiver uma ou mais barras, o
shell executa o programa nomeado em um ambiente de execução separado. O argumento 0 está definido
ao nome dado, e os argumentos restantes para o comando são configurados para os argumentos
dado, se houver.

Se esta execução falhar porque o arquivo não está no formato executável, e o arquivo não está
um diretório, presume-se que seja um concha escrita, um arquivo contendo comandos de shell. UMA
subshell é gerado para executá-lo. Este subshell se reinicializa, de modo que o efeito
é como se um novo shell tivesse sido invocado para lidar com o script, com a exceção de que o
localizações de comandos lembrados pelo pai (ver hash abaixo sob SHELL CONSTRUÍDAS EM
COMANDOS) são retidos pela criança.

Se o programa for um arquivo que começa com #!, o restante da primeira linha especifica um
intérprete do programa. O shell executa o interpretador especificado ao operar
sistemas que não lidam com esse formato executável por conta própria. Os argumentos para o
intérprete consiste em um único argumento opcional após o nome do intérprete no
primeira linha do programa, seguida do nome do programa, seguida do comando
argumentos, se houver.

COMANDO EXECUÇÃO MEIO AMBIENTE


A concha tem um execução meio Ambiente, que consiste no seguinte:

· Abrir arquivos herdados pelo shell na chamada, conforme modificados por redirecionamentos
fornecido para o exec builtin

· O diretório de trabalho atual conforme definido por cd, pushdou popd, ou herdado pelo
shell na invocação

· A máscara do modo de criação de arquivo conforme definido por umask ou herdado do pai do shell

· Armadilhas atuais definidas por armadilha

· Parâmetros de shell que são definidos por atribuição de variável ou com conjunto ou herdado de
o pai do shell no ambiente

· Funções de shell definidas durante a execução ou herdadas do pai do shell em
o meio ambiente

· Opções habilitadas na invocação (por padrão ou com argumentos de linha de comando) ou
by conjunto

· Opções habilitadas por comprar

· Aliases de shell definidos com aliás

· Vários IDs de processo, incluindo os de trabalhos em segundo plano, o valor de $$, e as
valor de PPID

Quando um comando simples diferente de uma função interna ou shell deve ser executado, é
chamado em um ambiente de execução separado que consiste no seguinte. A menos que
observado de outra forma, os valores são herdados do shell.

· Os arquivos abertos do shell, além de quaisquer modificações e adições especificadas por
redirecionamentos para o comando

· O diretório de trabalho atual

· A máscara do modo de criação de arquivo

· Variáveis ​​de shell e funções marcadas para exportação, junto com variáveis ​​exportadas para
o comando, passado no ambiente

· Armadilhas capturadas pelo shell são redefinidas para os valores herdados do shell
pai, e as armadilhas ignoradas pelo shell são ignoradas

Um comando invocado neste ambiente separado não pode afetar a execução do shell
ambiente.

Substituição de comando, comandos agrupados com parênteses e comandos assíncronos são
chamado em um ambiente de subshell que é uma duplicata do ambiente de shell, exceto
que as armadilhas capturadas pelo shell são redefinidas para os valores que o shell herdou de seu
pai na invocação. Comandos internos que são chamados como parte de um pipeline também são
executado em um ambiente de subshell. As alterações feitas no ambiente do subshell não podem
afetam o ambiente de execução do shell.

Subshells gerados para executar substituições de comando herdam o valor do -e opção de
o shell pai. Quando não está em posix Modo, bater limpa o -e opção em tais subshells.

Se um comando é seguido por um & e o controle de trabalho não está ativo, a entrada padrão padrão
pois o comando é o arquivo vazio / dev / null. Caso contrário, o comando invocado herda o
descritores de arquivo do shell de chamada, conforme modificado por redirecionamentos.

MEIO AMBIENTE


Quando um programa é invocado, ele recebe uma matriz de strings chamada de meio Ambiente. Isto é
uma lista de nome-valor pares, da forma nome=valor.

O shell oferece várias maneiras de manipular o ambiente. Na invocação, o shell
verifica seu próprio ambiente e cria um parâmetro para cada nome encontrado, automaticamente
marcando para exportar para processos filho. Os comandos executados herdam o ambiente. O
exportar e declarar -x comandos permitem que parâmetros e funções sejam adicionados e excluídos
do meio ambiente. Se o valor de um parâmetro no ambiente for modificado, o novo
o valor passa a fazer parte do meio ambiente, substituindo o antigo. O ambiente herdado por
qualquer comando executado consiste no ambiente inicial do shell, cujos valores podem ser
modificado no shell, menos quaisquer pares removidos pelo não definido comando, além de quaisquer adições via
que o exportar e declarar -x comandos.

O ambiente para qualquer simples comando ou a função pode ser aumentada temporariamente por
prefixando-o com atribuições de parâmetro, conforme descrito acima em PARÂMETROS. Estes
as instruções de atribuição afetam apenas o ambiente visto por aquele comando.

Se o -k opção está definida (consulte o conjunto comando embutido abaixo), então todos os parâmetro
atribuições são colocadas no ambiente para um comando, não apenas aquelas que precedem o
nome do comando.

Quando bater invoca um comando externo, a variável _ é definido com o nome de arquivo completo do
comando e passado para esse comando em seu ambiente.

SAIR STATUS


O status de saída de um comando executado é o valor retornado pelo garçonete chamada de sistema ou
função equivalente. Os status de saída ficam entre 0 e 255, embora, conforme explicado abaixo,
o shell pode usar valores acima de 125 especialmente. Sair de status de shell builtins e
comandos compostos também são limitados a este intervalo. Sob certas circunstâncias, a casca
usará valores especiais para indicar modos de falha específicos.

Para os propósitos do shell, um comando que sai com um status de saída zero foi bem-sucedido. Um
o status de saída de zero indica sucesso. Um status de saída diferente de zero indica falha. Quando um
comando termina em um sinal fatal N, bater usa o valor de 128+N como o status de saída.

Se um comando não for encontrado, o processo filho criado para executá-lo retorna um status de
127. Se um comando for encontrado, mas não for executável, o status de retorno é 126.

Se um comando falhar devido a um erro durante a expansão ou redirecionamento, o status de saída é
maior que zero.

Os comandos internos do shell retornam um status de 0 (verdadeiro) se bem-sucedido e diferente de zero (falso) E se
ocorre um erro durante a execução. Todos os builtins retornam um status de saída 2 para indicar
uso incorreto.

Bater em si retorna o status de saída do último comando executado, a menos que um erro de sintaxe
ocorre, caso em que ele sai com um valor diferente de zero. Veja também o saída comando embutido
abaixo.

SINAIS


Quando bater é interativo, na ausência de quaisquer armadilhas, ele ignora PRAZO META (de modo a matar 0
não mata um shell interativo), e SIGINT é capturado e manipulado (de modo que o esperar
embutido é interruptível). Em todos os casos, bater ignora TANTO. Se o controle de trabalho estiver em
efeito, bater ignora SIGTIN, SIGTTOU e SIGTSTP.

Comandos não integrados executados por bater têm manipuladores de sinal definidos para os valores herdados pelo
shell de seu pai. Quando o controle de trabalho não está em vigor, os comandos assíncronos ignoram
SIGINT e TANTO além desses manipuladores herdados. Comandos executados como resultado de
a substituição do comando ignora os sinais de controle de trabalho gerados pelo teclado SIGTIN, SIGTTOU,
e SIGTSTP.

O shell sai por padrão após o recebimento de um SIGA. Antes de sair, um shell interativo
reenvia o SIGA para todos os trabalhos, em execução ou interrompidos. Trabalhos interrompidos são enviados PRÓXIMO CONTEÚDO para
garantir que eles recebam o SIGA. Para evitar que o shell envie o sinal para um
trabalho específico, deve ser removido da tabela de trabalhos com o renegar embutido (ver
SHELL CONSTRUÍDAS EM COMANDOS abaixo) ou marcado para não receber SIGA utilização renegar -h.

Se o huponexit opção de shell foi definida com comprar, bater envia um SIGA para todos os trabalhos
quando sai um shell de login interativo.

If bater está esperando a conclusão de um comando e recebe um sinal para o qual uma armadilha tem
foi definido, o trap não será executado até que o comando seja concluído. Quando bater está esperando
para um comando assíncrono por meio do esperar embutido, a recepção de um sinal para o qual um
armadilha foi configurada fará com que o esperar integrado para retornar imediatamente com um status de saída
maior que 128, imediatamente após o qual o trap é executado.

TRABALHO CONTROLE


Trabalho ao controle refere-se à capacidade de parar seletivamente (suspender) a execução de processos
E continue (currículo) sua execução em um ponto posterior. Um usuário normalmente emprega este
facilidade através de uma interface interativa fornecida em conjunto pelo kernel do sistema operacional
driver do terminal e bater.

O shell associa um trabalho com cada pipeline. Ele mantém uma tabela de execução atualmente
empregos, que podem ser listados com o empregos comando. Quando bater inicia um trabalho de forma assíncrona
(no fundo), ele imprime uma linha semelhante a:

[1] 25647

indicando que este trabalho é o trabalho número 1 e que o ID do processo do último processo em
o pipeline associado a este trabalho é 25647. Todos os processos em um único pipeline
são membros do mesmo trabalho. Bater utiliza o trabalho abstração como base para o controle de tarefas.

Para facilitar a implementação da interface do usuário para controle de trabalho, o funcionamento
sistema mantém a noção de um atual terminal processo grupo ID. Membros deste
grupo de processos (processos cujo ID do grupo de processos é igual ao processo do terminal atual
ID do grupo) receber sinais gerados pelo teclado, como SIGINT. Esses processos são chamados de
estar no primeiro plano. BACKGROUND processos são aqueles cujo ID do grupo de processo difere de
do terminal; tais processos são imunes aos sinais gerados pelo teclado. Apenas primeiro plano
processos têm permissão para ler ou, se o usuário assim especificar com stty tostop, escrever para
o terminal. Processos em segundo plano que tentam ler de (escrever para quando stty para parar
está em vigor) ao terminal é enviado um SIGTIN (SIGTOU) sinal pelo terminal do kernel
driver, que, a menos que seja detectado, suspende o processo.

Se o sistema operacional no qual bater está em execução suporta controle de trabalho, bater contém
instalações para usá-lo. Digitando o suspender personagem (tipicamente ^Z, Control-Z) enquanto um
o processo está em execução faz com que esse processo seja interrompido e retorna o controle para bater. Digitando
que o atrasado suspender personagem (tipicamente ^Y, Control-Y) faz com que o processo seja interrompido
quando ele tenta ler a entrada do terminal, e o controle deve ser retornado para bater. O
o usuário pode então manipular o estado deste trabalho, usando o bg comando para continuar no
fundo, o fg comando para continuar em primeiro plano, ou o matar comando para matar
isto. UMA ^Z entra em vigor imediatamente e tem o efeito colateral adicional de causar pendências
saída e digitação a serem descartadas.

Existem várias maneiras de se referir a um trabalho no shell. O personagem % apresenta um
Especificação de trabalho (especificação do trabalho) Número de Trabalho n pode ser referido como %n. Um trabalho também pode ser
referido usando um prefixo do nome usado para iniciá-lo, ou usando uma substring que aparece
em sua linha de comando. Por exemplo, % ce refere-se a um parado ce trabalho. Se um prefixo corresponder
mais de um trabalho, bater relata um erro. Usando %? ce, por outro lado, refere-se a qualquer
trabalho contendo a string ce em sua linha de comando. Se a substring corresponder a mais de um
trabalho, bater relata um erro. Os símbolos %% e %+ referem-se à noção de shell do
atual trabalho, que é o último trabalho interrompido enquanto estava em primeiro plano ou iniciado em
o fundo. O anterior trabalho pode ser referenciado usando %-. Se houver apenas um
trabalho, %+ e %- ambos podem ser usados ​​para se referir a esse trabalho. Na saída relativa a empregos (por exemplo,
a saída do empregos comando), o trabalho atual é sempre sinalizado com um +, e as
trabalho anterior com um -. Uma única% (sem especificação de trabalho de acompanhamento) também se refere a
o trabalho atual.

Simplesmente nomear um trabalho pode ser usado para trazê-lo para o primeiro plano: %1 é sinônimo de `` fg
% 1 '', trazendo o trabalho 1 do segundo plano para o primeiro plano. Similarmente, ``% 1 & '' currículos
trabalho 1 em segundo plano, equivalente a `` bg % 1 ''.

O shell aprende imediatamente sempre que um trabalho muda de estado. Normalmente, bater espera até isso
está prestes a imprimir um prompt antes de relatar mudanças no status de um trabalho para não
interromper qualquer outra saída. Se o -b opção para conjunto o comando embutido está habilitado, bater
relata tais mudanças imediatamente. Qualquer armadilha SIGCHLD é executado para cada criança que
saídas.

Se uma tentativa de sair bater é feito enquanto os trabalhos são interrompidos (ou, se o trabalhos de verificação concha
opção foi habilitada usando o comprar embutido, em execução), o shell imprime um aviso
mensagem, e, se o trabalhos de verificação opção está ativada, lista os trabalhos e seus status. O
empregos O comando pode então ser usado para inspecionar seu status. Se uma segunda tentativa de saída for
feito sem um comando intermediário, o shell não imprime outro aviso, e qualquer
trabalhos interrompidos são encerrados.

PROVOCAÇÃO


Ao executar interativamente, bater exibe o prompt principal PS1 quando estiver pronto para
leia um comando e o prompt secundário PS2 quando precisa de mais informações para completar um
comando. Bater permite que essas strings de prompt sejam personalizadas inserindo uma série de
caracteres especiais com escape de barra invertida que são decodificados da seguinte maneira:
\a um caractere de sino ASCII (07)
\d a data no formato "Dia da semana, mês, data" (por exemplo, "Terça-feira, 26 de maio")
\ D {formato}
que o formato é passado para horário de trabalho(3) e o resultado é inserido no
prompt string; um vazio formato resulta em um horário específico da localidade
representação. As chaves são obrigatórias
\e um caractere de escape ASCII (033)
\h o nome do host até o primeiro `. '
\H o nome do host
\j o número de trabalhos atualmente gerenciados pelo shell
\l o nome de base do nome do dispositivo de terminal do shell
\n nova linha
\r retorno de carro
\s o nome do shell, o nome base de $0 (a parte após o final
golpear)
\t a hora atual no formato HH: MM: SS de 24 horas
\T a hora atual no formato HH: MM: SS de 12 horas
\@ a hora atual no formato 12 horas am / pm
\A a hora atual no formato HH: MM de 24 horas
\u o nome de usuário do usuário atual
\v a versão de bater (por exemplo, 2.00)
\V o lançamento do bater, versão + nível de patch (por exemplo, 2.00.0)
\w o diretório de trabalho atual, com $ HOME abreviado com um til (usa o
valor do PROMPT_DIRTRIM variável)
\W o nome de base do diretório de trabalho atual, com $ HOME abreviado com um
til
\! o número do histórico deste comando
\# o número de comando deste comando
\$ se o UID efetivo for 0, um #, caso contrário, um $
\nnn o caractere correspondente ao número octal nnn
\\ uma barra invertida
\[ iniciar uma sequência de caracteres não imprimíveis, que podem ser usados ​​para incorporar um
sequência de controle do terminal no prompt
\] terminar uma sequência de caracteres não imprimíveis

O número do comando e o número do histórico são geralmente diferentes: o número do histórico de um
comando é a sua posição na lista de histórico, que pode incluir comandos restaurados do
arquivo de histórico (ver HISTÓRIA abaixo), enquanto o número do comando é a posição na sequência
de comandos executados durante a sessão de shell atual. Depois que a string é decodificada, é
expandido por meio de expansão de parâmetro, substituição de comando, expansão aritmética e cotação
remoção, sujeito ao valor do promptvars opção de shell (veja a descrição do
comprar comando sob SHELL CONSTRUÍDAS EM COMANDOS abaixo).

LEIA A LINHA


Esta é a biblioteca que lida com a entrada de leitura ao usar um shell interativo, a menos que o
--sem edição opção é fornecida na invocação do shell. A edição de linha também é usada ao usar o
-e opção para ler construídas em. Por padrão, os comandos de edição de linha são semelhantes aos
do Emacs. Uma interface de edição de linha estilo vi também está disponível. A edição de linha pode ser
habilitado a qualquer momento usando o -o emacs or -o vi opções para o conjunto embutido (ver SHELL
CONSTRUÍDAS EM COMANDOS abaixo). Para desligar a edição de linha após a execução do shell, use o +o
emacs or +o vi opções para o conjunto construídas em.

Readline Avaliação
Nesta seção, a notação de estilo Emacs é usada para denotar pressionamentos de tecla. As chaves de controle são
denotado por C-chave, por exemplo, Cn significa Control-N. Similarmente, objetivo as chaves são denotadas por M-chave,
então Mx significa Meta-X. (Em teclados sem um objetivo chave, M-x significa ESC x, ou seja, pressione o
Tecla Escape e, em seguida, a x chave. Isso torna o ESC o objetivo prefixo. A combinação MC-x significa
ESC-Controle-xou pressione a tecla Escape e segure a tecla Controle enquanto pressiona o x
chave.)

Os comandos Readline podem ser numéricos argumentos, que normalmente atuam como uma contagem de repetição.
Às vezes, porém, é o sinal do argumento que é significativo. Passando por
argumento negativo para um comando que atua na direção para frente (por exemplo, linha de morte) causas
esse comando para agir em uma direção para trás. Comandos cujo comportamento com argumentos
desvios disso são indicados abaixo.

Quando um comando é descrito como matança texto, o texto excluído é salvo para um futuro possível
recuperação (puxando) O texto morto é salvo em um matar anel. Causa de mortes consecutivas
o texto deve ser acumulado em uma unidade, que pode ser puxada de uma vez. Comandos que
não mate o texto separe os pedaços de texto no anel de eliminação.

Readline Inicialização
Readline é personalizado colocando comandos em um arquivo de inicialização (o entradarc arquivo).
O nome deste arquivo é obtido a partir do valor do ENTRADA variável. Se essa variável
não está definido, o padrão é ~ / .inputrc. Quando um programa que usa a biblioteca readline
é inicializado, o arquivo de inicialização é lido e as combinações de teclas e variáveis ​​são definidas.
Existem apenas algumas construções básicas permitidas no arquivo de inicialização readline. Em branco
linhas são ignoradas. Linhas começando com um # são comentários. Linhas começando com um $
indicar construções condicionais. Outras linhas denotam combinações de teclas e configurações de variáveis.

Os atalhos de teclado padrão podem ser alterados com um entradarc Arquivo. Outros programas que usam
esta biblioteca pode adicionar seus próprios comandos e ligações.

Por exemplo, colocando

M-Control-u: argumento universal
or
C-Meta-u: argumento universal
no entradarc faria MCu executar o comando readline argumento universal.

Os seguintes nomes de caracteres simbólicos são reconhecidos: RUBOUT, A, CES, LFD, NOVA LINHA,
RET, RETORNO, SPC, ESPAÇO e ABA.

Além dos nomes dos comandos, readline permite que as chaves sejam vinculadas a uma string que é
inserido quando a tecla é pressionada (a macro).

Readline Chave Ligações
A sintaxe para controlar as combinações de teclas no entradarc o arquivo é simples. Tudo isso é
obrigatório é o nome do comando ou o texto de uma macro e uma sequência de teclas para a qual
deve ser vinculado. O nome pode ser especificado de duas maneiras: como um nome de chave simbólico,
possivelmente com Meta- or Control- prefixos ou como uma sequência de teclas.

Ao usar o formulário nome-chave:nome da função or macro, nome-chave é o nome de uma chave soletrada
em inglês. Por exemplo:

Control-u: argumento universal
Meta-Rubout: palavra de morte para trás
Control-o: "> saída"

No exemplo acima, Cu está ligado à função argumento universal, M-DEL é obrigado a
a função palavra de matar para trás e Co é obrigado a executar a macro expressa à direita
lado da mão (isto é, inserir o texto ``> saída '' na linha).

Na segunda forma, "keyseq":nome da função or macro, sequência de teclas difere nome-chave acima em
que as strings que denotam uma sequência chave inteira podem ser especificadas colocando a sequência
entre aspas duplas. Alguns escapes de chave do estilo GNU Emacs podem ser usados, como a seguir
exemplo, mas os nomes dos caracteres simbólicos não são reconhecidos.

"\ Cu": argumento universal
"\ Cx \ Cr": reler o arquivo init
"\ e [11 ~": "Tecla de função 1"

Neste exemplo, Cu está novamente ligado à função argumento universal. Cx Cr está ligado
para a função reler-arquivo-init e CES [ 1 1 ~ é obrigado a inserir o texto `` Função
Chave 1 ''.

O conjunto completo de sequências de escape do estilo GNU Emacs é
\ C- prefixo de controle
\ M- meta prefixo
\e um personagem de escape
\\ barra invertida
\" literal "
\' literal '

Além das sequências de escape do estilo GNU Emacs, um segundo conjunto de escapes de barra invertida é
disponível:
\a alerta (sino)
\b retrocesso
\d excluir
\f formulário de alimentação
\n nova linha
\r retorno de carro
\t aba horizontal
\v aba vertical
\nnn o caractere de oito bits cujo valor é o valor octal nnn (um a três
dígitos)
\xHH o caractere de oito bits cujo valor é o valor hexadecimal HH (um ou dois
dígitos hexadecimais)

Ao inserir o texto de uma macro, aspas simples ou duplas devem ser usadas para indicar um
definição de macro. O texto sem aspas é considerado um nome de função. No corpo macro, o
escapes de barra invertida descritos acima são expandidos. A barra invertida cita qualquer outro caractere
no texto da macro, incluindo "e '.

Bater permite que os atalhos de teclado atuais da linha de leitura sejam exibidos ou modificados com o vincular
comando embutido. O modo de edição pode ser alterado durante o uso interativo usando o -o
opção para conjunto comando embutido (veja SHELL CONSTRUÍDAS EM COMANDOS abaixo).

Readline Variáveis
Readline possui variáveis ​​que podem ser usadas para personalizar ainda mais seu comportamento. Uma variável pode
ser definido no entradarc arquivo com uma declaração do formulário

conjunto nome variável valor

Exceto onde indicado, as variáveis ​​readline podem assumir os valores On or Off (sem consideração
caso). Nomes de variáveis ​​não reconhecidos são ignorados. Quando um valor de variável é lido, vazio ou
valores nulos, "on" (não diferencia maiúsculas de minúsculas) e "1" são equivalentes a On. Todos os outros valores são
equivalente a Off. As variáveis ​​e seus valores padrão são:

estilo sino (audível)
Controla o que acontece quando readline deseja tocar a campainha do terminal. Se definido para
Nenhum, readline nunca toca a campainha. Se definido para visível, readline usa um visível
sino, se houver um disponível. Se definido para audível, readline tenta ligar para o
campainha do terminal.
bind-tty-caracteres especiais (Em)
Se definido para On, readline tenta ligar os caracteres de controle tratados especialmente por
o driver de terminal do kernel para seus equivalentes readline.
colorido-estatísticas (Desligado)
Se definido para On, readline exibe conclusões possíveis usando cores diferentes para
indicar seu tipo de arquivo. As definições de cores são tiradas do valor do
LS_COLORS variável de ambiente.
comentar-começar (`` # '')
A string que é inserida quando a linha de leitura inserir comentário comando é executado.
Este comando está vinculado a M- # no modo emacs e para # no modo de comando vi.
completar-ignorar-caso (Desligado)
Se definido para On, readline executa correspondência e conclusão de nome de arquivo em um
forma que não faz distinção entre maiúsculas e minúsculas.
comprimento de exibição de prefixo de conclusão (0)
O comprimento em caracteres do prefixo comum de uma lista de conclusões possíveis
que é exibido sem modificação. Quando definido para um valor maior que zero,
prefixos comuns maiores que este valor são substituídos por reticências quando
exibindo possíveis conclusões.
completamento-consulta-itens (100)
Isso determina quando o usuário é questionado sobre a visualização do número de possíveis
conclusões geradas pelo possíveis-conclusões comando. Pode ser definido para qualquer
valor inteiro maior ou igual a zero. Se o número de conclusões possíveis
é maior ou igual ao valor desta variável, o usuário é questionado se
ou não deseja vê-los; caso contrário, eles são simplesmente listados no terminal.
converter-meta (Em)
Se definido para On, readline irá converter caracteres com o oitavo bit definido para um ASCII
sequência de teclas removendo o oitavo bit e prefixando um caractere de escape (em
efeito, usando escape como o objetivo prefixo).
desabilitar conclusão (Desligado)
Se definido para On, readline inibirá a conclusão de palavras. Os caracteres de conclusão serão
inseridos na linha como se tivessem sido mapeados para auto-inserção.
modo de edição (emacs)
Controla se readline começa com um conjunto de combinações de teclas semelhantes a Emacs or vi.
modo de edição pode ser definido como emacs or vi.
caracteres de controle de eco (Em)
Quando definido para On, em sistemas operacionais que indicam que o suportam, eco readline
um caractere correspondente a um sinal gerado a partir do teclado.
habilitar teclado (Desligado)
Quando definido para On, o readline tentará habilitar o teclado do aplicativo quando estiver
chamado. Alguns sistemas precisam disso para habilitar as teclas de seta.
ativar meta-chave (Em)
Quando definido para On, o readline tentará habilitar qualquer tecla modificadora do terminal
afirma apoiar quando é chamado. Em muitos terminais, a meta-chave é usada para
enviar caracteres de oito bits.
expandir-til (Desligado)
Se definido para On, a expansão do til é executada quando a linha de leitura tenta completar a palavra.
ponto de preservação da história (Desligado)
Se definido para On, o código de histórico tenta colocar o ponto no mesmo local em cada
linha de história recuperada com história anterior or próxima história.
tamanho da história (0)
Defina o número máximo de entradas de histórico salvas na lista de histórico. Se definido para
zero, todas as entradas de histórico existentes são excluídas e nenhuma entrada nova é salva. Se
definido com um valor menor que zero, o número de entradas do histórico não é limitado. Por
padrão, o número de entradas do histórico não é limitado.
modo de rolagem horizontal (Desligado)
Quando definido para On, faz com que readline use uma única linha para exibição, rolando a entrada
horizontalmente em uma única linha da tela quando se torna maior do que a largura da tela
em vez de quebrar em uma nova linha.
meta de entrada (Desligado)
Se definido para On, readline habilitará a entrada de oito bits (isto é, não retirará o
bit alto dos caracteres que lê), independentemente do que o terminal reivindique
pode apoiar. O nome meta-bandeira é um sinônimo para esta variável.
terminadores de pesquisa (`` C- [C-J '')
A sequência de caracteres que deve terminar uma pesquisa incremental sem
subsequentemente executando o personagem como um comando. Se esta variável não foi
dado um valor, os personagens CES e CJ encerrará uma pesquisa incremental.
keymap (emacs)
Defina o mapa de teclado readline atual. O conjunto de nomes de mapas de teclado válidos é emacs,
padrão emacs, emacs-meta, emacs-ctlx, vi, comando vi e vi-inserir. vi is
equivalente a comando vi; emacs é equivalente a padrão emacs. O valor padrão
is emacs; o valor de modo de edição também afeta o mapa de teclado padrão.
tempo limite do keyseq (500)
Especifica a duração readline irá esperar por um personagem ao ler um ambíguo
sequência de teclas (aquela que pode formar uma sequência de teclas completa usando a entrada lida para
longe, ou pode levar entrada adicional para completar uma sequência de teclas mais longa). Se nenhuma entrada
é recebido dentro do tempo limite, readline usará a chave mais curta, mas completa
seqüência. O valor é especificado em milissegundos, portanto, um valor de 1000 significa que
readline esperará um segundo por uma entrada adicional. Se esta variável for definida como um
valor menor ou igual a zero, ou a um valor não numérico, readline vai esperar
até que outra tecla seja pressionada para decidir qual sequência de teclas completar.
diretórios de marcação (Em)
Se definido para On, os nomes de diretório completos têm uma barra anexada.
marcar linhas modificadas (Desligado)
Se definido para On, as linhas de histórico que foram modificadas são exibidas com um precedente
asterisco (*).
diretórios com links simbólicos (Desligado)
Se definido para On, nomes completos que são links simbólicos para diretórios têm uma barra
anexado (sujeito ao valor de diretórios de marcação).
combinar arquivos ocultos (Em)
Esta variável, quando definida para On, faz com que readline corresponda a arquivos cujos nomes comecem
com um `. ' (arquivos ocultos) ao executar a conclusão do nome do arquivo. Se definido para Off,
levando `. ' deve ser fornecido pelo usuário no nome do arquivo a ser preenchido.
menu-completo-exibição-prefixo (Desligado)
Se definido para On, a conclusão do menu exibe o prefixo comum da lista de possíveis
conclusões (que podem estar vazias) antes de percorrer a lista.
meta de saída (Desligado)
Se definido para On, readline exibirá caracteres com o oitavo bit definido diretamente
em vez de uma sequência de escape com prefixo meta.
completamentos de página (Em)
Se definido para On, readline usa um interno maiscomo um pager para exibir uma tela cheia de
possíveis conclusões de cada vez.
imprimir-conclusões-horizontalmente (Desligado)
Se definido para On, readline exibirá conclusões com correspondências classificadas horizontalmente em
ordem alfabética, em vez de para baixo na tela.
reverter tudo em nova linha (Desligado)
Se definido para On, readline irá desfazer todas as alterações nas linhas do histórico antes de retornar quando
linha de aceitação É executado. Por padrão, as linhas do histórico podem ser modificadas e retidas
listas de desfazer individuais em chamadas para readline.
mostrar tudo se ambíguo (Desligado)
Isso altera o comportamento padrão das funções de conclusão. Se definido para On, palavras
que têm mais de uma conclusão possível, fazem com que as correspondências sejam listadas
imediatamente em vez de tocar a campainha.
mostrar tudo se não modificado (Desligado)
Isso altera o comportamento padrão das funções de conclusão de uma forma semelhante
para mostrar tudo se ambíguo. Se definido para On, palavras que têm mais de um possível
conclusão sem qualquer conclusão parcial possível (as conclusões possíveis não
compartilham um prefixo comum) fazem com que as correspondências sejam listadas imediatamente em vez de
tocando a campainha.
mostrar-modo-em-prompt (Desligado)
Se definido para On, adicione um caractere ao início do prompt indicando a edição
modo: emacs (@), comando vi (:) ou inserção vi (+).
pular texto completo (Desligado)
Se definido para On, isso altera o comportamento de conclusão padrão ao inserir um único
coincidir com a linha. Ele só fica ativo ao realizar a conclusão no meio de
uma palavra. Se habilitado, readline não insere caracteres de conclusão que
combinar caracteres após ponto na palavra sendo completada, então porções da palavra
seguindo o cursor não são duplicados.
estatísticas visíveis (Desligado)
Se definido para On, um caractere que denota o tipo de arquivo, conforme relatado por estado(2) é anexado
ao nome do arquivo ao listar as conclusões possíveis.

Readline Condicional Construtos
Readline implementa um recurso semelhante em espírito aos recursos de compilação condicional
do pré-processador C, que permite que as combinações de teclas e configurações de variáveis ​​sejam realizadas como
o resultado dos testes. Existem quatro diretivas de analisador usadas.

$ if A $ if construção permite que as ligações sejam feitas com base no modo de edição, o
terminal sendo usado, ou o aplicativo usando readline. O texto do teste
estende-se até o final da linha; nenhum caractere é necessário para isolá-lo.

modo A modo = forma do $ if diretiva é usada para testar se readline está em
modo emacs ou vi. Isso pode ser usado em conjunto com o conjunto keymap
comando, por exemplo, para definir ligações no padrão emacs e emacs-ctlx
keymaps somente se o readline estiver iniciando no modo emacs.

prazo A termo = formulário pode ser usado para incluir ligações de teclas específicas do terminal,
talvez para vincular a saída das sequências de teclas pelas teclas de função do terminal.
A palavra do lado direito do = é testado com o nome completo de
o terminal e a parte do nome do terminal antes do primeiro -. Este
permite sol para combinar com ambos sol e sol-cmd, Por exemplo.

Formulário on line
A Formulário on line construção é usada para incluir configurações específicas do aplicativo.
Cada programa usando a biblioteca readline define o Formulário on line nomeE um
o arquivo de inicialização pode testar um valor específico. Isso poderia ser usado para
vincular sequências de teclas a funções úteis para um programa específico. Por
instância, o comando a seguir adiciona uma sequência de teclas que cita o atual
ou palavra anterior em bater:

$ if Bater
# Cite a palavra atual ou anterior
"\ C-xq": "\ eb \" \ ef \ ""
$ endif

$ endif Este comando, como visto no exemplo anterior, termina um $ if comando.

$ else Comandos neste ramo do $ if diretiva são executados se o teste falhar.

$ incluir
Esta diretiva recebe um único nome de arquivo como argumento e lê os comandos e
ligações desse arquivo. Por exemplo, a seguinte diretiva seria
/ etc / inputrc:

$ incluir / etc / inputrc

Busca
Readline fornece comandos para pesquisar através do histórico de comandos (veja HISTÓRIA abaixo)
para linhas contendo uma string especificada. Existem dois modos de pesquisa: incrementais e não-
incrementais.

As pesquisas incrementais começam antes que o usuário termine de digitar a string de pesquisa. Como cada
caractere da string de pesquisa é digitado, readline exibe a próxima entrada do histórico
correspondendo à string digitada até agora. Uma pesquisa incremental requer apenas tantos caracteres
conforme necessário para encontrar a entrada de histórico desejada. Os personagens presentes no valor do
terminadores de pesquisa variáveis ​​são usadas para encerrar uma pesquisa incremental. Se isso
não foi atribuído um valor à variável, os caracteres Escape e Control-J terminarão
uma pesquisa incremental. Control-G irá abortar uma busca incremental e restaurar o
linha original. Quando a pesquisa é encerrada, a entrada do histórico que contém a pesquisa
string torna-se a linha atual.

Para encontrar outras entradas correspondentes na lista de histórico, digite Control-S ou Control-R como
apropriado. Isto irá pesquisar para trás ou para a frente no histórico para a próxima entrada
correspondendo à string de pesquisa digitada até agora. Qualquer outra sequência de teclas ligada a uma linha de leitura
o comando encerrará a pesquisa e executará esse comando. Por exemplo, um nova linha precisarão
terminar a pesquisa e aceitar a linha, executando assim o comando do histórico
Lista.

Readline lembra a última string de pesquisa incremental. Se dois Control-Rs forem digitados
sem nenhum caractere intermediário definindo uma nova string de pesquisa, qualquer pesquisa lembrada
string é usada.

Pesquisas não incrementais lêem toda a string de pesquisa antes de começar a pesquisar
linhas de história correspondentes. A string de pesquisa pode ser digitada pelo usuário ou fazer parte do
conteúdo da linha atual.

Readline Command Names
A seguir está uma lista dos nomes dos comandos e as sequências de teclas padrão para
ao qual eles estão vinculados. Os nomes dos comandos sem uma sequência de teclas acompanhando são desvinculados por
padrão. Nas descrições a seguir, ponto refere-se à posição atual do cursor, e
marca refere-se a uma posição do cursor salva pelo marca de ajuste comando. O texto entre o
ponto e marca é referido como o região.

comandos para em movimento
começo de linha (Ca)
Vá para o início da linha atual.
fim da linha (Ce)
Vá para o final da linha.
caractere direto (Cf)
Avance um personagem.
caractere reverso (Cb)
Retroceda um personagem.
palavra direta (Mf)
Avance para o final da próxima palavra. As palavras são compostas de alfanuméricos
caracteres (letras e dígitos).
palavra invertida (Mb)
Volte para o início da palavra atual ou anterior. Palavras são compostas de
caracteres alfanuméricos (letras e dígitos).
palavra de encaminhamento de shell
Avance para o final da próxima palavra. As palavras são delimitadas por uma concha sem aspas
metacaracteres.
palavra-concha
Volte para o início da palavra atual ou anterior. Palavras são delimitadas por
metacaracteres shell não citados.
limpar tela (Cl)
Limpe a tela deixando a linha atual no topo da tela. Com um
argumento, atualize a linha atual sem limpar a tela.
redesenhar linha atual
Atualize a linha atual.

comandos para Manipulando que o HISTÓRIA
linha de aceitação (Nova linha, Retornar)
Aceite a linha independentemente de onde o cursor estiver. Se esta linha não estiver vazia, adicione
para a lista de histórico de acordo com o estado do HISTCONTROL variável. Se o
linha é uma linha de histórico modificada, em seguida, restaure a linha de histórico ao seu original
Estado.
história anterior (Cp)
Obtém o comando anterior da lista de histórico, voltando para a lista.
próxima história (Cn)
Pega o próximo comando da lista de histórico, avançando na lista.
começo da história (M- <)
Vá para a primeira linha do histórico.
fim da história (M->)
Vá para o final do histórico de entrada, ou seja, a linha que está sendo inserida no momento.
histórico de pesquisa reversa (Cr)
Pesquisa para trás, começando na linha atual e movendo-se para cima no histórico conforme
necessário. Esta é uma pesquisa incremental.
histórico de pesquisa avançada (Cs)
Pesquisa para a frente, começando na linha atual e movendo-se para baixo no histórico
como necessário. Esta é uma pesquisa incremental.
histórico de pesquisa reversa não incremental (Mp)
Pesquise para trás no histórico, começando na linha atual, usando um não
pesquisa incremental de uma string fornecida pelo usuário.
não-incremental-forward-search-history (Mn)
Pesquise para a frente no histórico usando uma pesquisa não incremental por uma string
fornecido pelo usuário.
história-busca-para a frente
Pesquise na história pela sequência de caracteres entre o início
da linha atual e do ponto. Esta é uma pesquisa não incremental.
history-search-back
Pesquise na história para trás pela sequência de caracteres entre o início
da linha atual e do ponto. Esta é uma pesquisa não incremental.
yank-n-th-arg (MCy)
Insira o primeiro argumento para o comando anterior (geralmente a segunda palavra no
linha anterior) no ponto. Com uma discussão n, insira o na palavra da anterior
comando (as palavras no comando anterior começam com a palavra 0). Um argumento negativo
insere o na palavra do final do comando anterior. Uma vez que o argumento n is
calculado, o argumento é extraído como se o "!n"a expansão da história foi
Especificadas.
puxe-último-arg (M-., M-_)
Insira o último argumento do comando anterior (a última palavra do anterior
entrada de histórico). Com um argumento numérico, comporte-se exatamente como yank-n-th-arg.
Chamadas sucessivas para puxe-último-arg retroceder na lista de histórico, inserindo o
última palavra (ou a palavra especificada pelo argumento para a primeira chamada) de cada linha em
vez. Qualquer argumento numérico fornecido a essas chamadas sucessivas determina o
direção para percorrer a história. Um argumento negativo muda a direção
ao longo da história (para trás ou para frente). As instalações de expansão de história são usadas
para extrair a última palavra, como se a expansão do histórico "! $" tivesse sido especificada.
shell-expandir-line (MCe)
Expanda a linha como o shell faz. Isso executa alias e expansão de histórico como
bem como todas as expansões de palavra shell. Ver HISTÓRIA EXPANSÃO abaixo para um
descrição da expansão da história.
história-expandir-linha (M- ^)
Execute a expansão do histórico na linha atual. Ver HISTÓRIA EXPANSÃO abaixo para um
descrição da expansão da história.
espaço mágico
Execute a expansão do histórico na linha atual e insira um espaço. Ver HISTÓRIA
EXPANSÃO abaixo para uma descrição da expansão da história.
alias-expandir-linha
Execute a expansão do alias na linha atual. Ver ALIASES acima para uma descrição
de expansão de alias.
histórico-e-alias-expandir-linha
Execute a expansão do histórico e do alias na linha atual.
inserir último argumento (M-., M-_)
Um sinônimo para puxe-último-arg.
operar e obter o próximo (Co)
Aceite a linha atual para execução e busque a próxima linha relativa ao
linha atual do histórico para edição. Qualquer argumento é ignorado.
comando de edição e execução (C-xC-e)
Invoque um editor na linha de comando atual e execute o resultado como shell
comandos. Bater tenta invocar $ VISUAL, $ EDITOR e emacs como o editor, em
esse pedido.

comandos para Mudar Texto
fim do arquivo (Normalmente CD)
O caractere que indica o fim do arquivo conforme definido, por exemplo, por `` stty ''. Se este
caractere é lido quando não há caracteres na linha e o ponto está no
início da linha, Readline interpreta como o fim da entrada e retorna EOF.
excluir-char (CD)
Exclua o caractere no ponto. Se esta função estiver associada ao mesmo caractere que
o tty EOF personagem, como CD comumente é, veja acima para os efeitos.
para trás-excluir-char (Rubout)
Exclua o caractere atrás do cursor. Quando dado um argumento numérico, salve o
texto apagado no anel da morte.
avançar-retroceder-excluir-char
Exclua o caractere sob o cursor, a menos que o cursor esteja no final da linha,
nesse caso, o caractere atrás do cursor é excluído.
citação-inserção (Cq, Cv)
Adicione o próximo caractere digitado na linha literalmente. É assim que inserir
personagens como Cq, por exemplo.
inserção de guia (Cv ABA)
Insira um caractere de tabulação.
auto-inserção (uma, b, A, 1, !, ...)
Insira o caractere digitado.
transpor-chars (Ct)
Arraste o personagem antes de apontar para a frente sobre o personagem no ponto, movendo o ponto
para a frente também. Se o ponto está no final da linha, isso transpõe os dois
personagens antes do ponto. Os argumentos negativos não têm efeito.
transpor palavras (Mt)
Arraste a palavra antes do ponto após a palavra após o ponto, movendo o ponto sobre a palavra
também. Se o ponto estiver no final da linha, isso transpõe as duas últimas palavras em
a linha.
palavrão (Mu)
Letras maiúsculas na palavra atual (ou seguinte). Com um argumento negativo, maiúscula
palavra anterior, mas não mova o ponto.
palavrão (Ml)
Coloque em minúsculas a palavra atual (ou seguinte). Com um argumento negativo, coloque o
palavra anterior, mas não mova o ponto.
palavra maiúscula (Mc)
Coloque em maiúscula a palavra atual (ou seguinte). Com um argumento negativo, capitalize
a palavra anterior, mas não mova o ponto.
modo de sobrescrever
Alterne o modo de substituição. Com um argumento numérico positivo explícito, muda para
modo de substituição. Com um argumento numérico não positivo explícito, muda para inserir
modo. Este comando afeta apenas emacs modo; vi modo substitui de forma diferente.
Cada chamada para Leia a linha() começa no modo de inserção. No modo de substituição, os caracteres vinculados
para auto-inserção substitua o texto no ponto em vez de empurrá-lo para a direita.
Personagens ligados a para trás-excluir-char substitua o caractere antes do ponto por um
espaço. Por padrão, este comando é desvinculado.

Matança e Puxando
linha de morte (Ck)
Mate o texto do ponto ao final da linha.
linha de morte para trás (Cx Esfregar)
Mate de volta ao início da linha.
descarte de linha unix (Cu)
Mate para trás, do ponto ao início da linha. O texto morto é salvo em
o anel da morte.
linha completa
Mate todos os personagens na linha atual, não importa onde o ponto esteja.
palavra de matar (Md)
Mate do ponto até o final da palavra atual, ou se entre as palavras, até o final da
a próxima palavra. Os limites das palavras são iguais aos usados ​​por palavra direta.
palavra de matar para trás (M-Rubout)
Mate a palavra por trás do ponto. Os limites das palavras são iguais aos usados ​​por
palavra invertida.
shell-kill-word (Md)
Mate do ponto até o final da palavra atual, ou se entre as palavras, até o final da
a próxima palavra. Os limites das palavras são iguais aos usados ​​por palavra de encaminhamento de shell.
shell-back-back-kill-word (M-Rubout)
Mate a palavra por trás do ponto. Os limites das palavras são iguais aos usados ​​por
palavra-concha.
apagamento de palavras unix (Cw)
Mate a palavra atrás do ponto, usando o espaço em branco como um limite de palavra. O texto morto
é salvo no kill-ring.
nome-de-arquivo-unix-rubout
Mate a palavra atrás do ponto, usando o espaço em branco e a barra como a palavra
limites. O texto morto é salvo no anel de morte.
excluir-espaço-horizontal (M- \)
Exclua todos os espaços e tabulações ao redor do ponto.
região de matança
Mate o texto na região atual.
copiar-região-como-matar
Copie o texto da região para o buffer de eliminação.
copiar palavra para trás
Copie a palavra antes de apontar para o buffer de eliminação. Os limites das palavras são os mesmos que
palavra invertida.
copiar palavra
Copie a palavra seguinte ponto para o buffer de eliminação. Os limites das palavras são os mesmos
as palavra direta.
puxão (Cy)
Puxe o topo do anel de morte para o buffer no ponto.
estourar (Meu)
Gire o anel de destruição e puxe a nova tampa. Só funciona seguindo puxão or estourar.

Numérico Argumentos
argumento de dígito (M-0, M-1, ..., M--)
Adicione este dígito ao argumento já acumulado ou inicie um novo argumento. M--
começa um argumento negativo.
argumento universal
Esta é outra maneira de especificar um argumento. Se este comando for seguido por um ou
mais dígitos, opcionalmente com um sinal de menos à esquerda, esses dígitos definem o
argumento. Se o comando for seguido por dígitos, executando argumento universal novamente
termina o argumento numérico, mas é ignorado de outra forma. Como um caso especial, se este
comando é imediatamente seguido por um caractere que não é um dígito ou menos
sinal, a contagem de argumentos para o próximo comando é multiplicada por quatro. O argumento
a contagem é inicialmente um, portanto, executar esta função pela primeira vez torna o
argumento conta quatro, uma segunda vez faz o argumento contar dezesseis, e assim por diante.

Concluindo
completar (ABA)
Tente completar o texto antes do ponto. Bater tentativas de conclusão
tratar o texto como uma variável (se o texto começar com $), nome de usuário (se o texto
começa com ~), nome do host (se o texto começar com @), ou comando (incluindo apelidos
e funções) por sua vez. Se nenhum deles produz uma correspondência, a conclusão do nome do arquivo é
tentada.
possíveis-conclusões (M-?)
Liste as conclusões possíveis do texto antes do ponto.
complementos de inserção (M- *)
Insira todas as conclusões do texto antes do ponto que teria sido gerado por
possíveis-conclusões.
menu completo
Semelhante a completar, mas substitui a palavra a ser completada por uma única correspondência de
a lista de conclusões possíveis. Execução repetida de menu completo passos
através da lista de conclusões possíveis, inserindo cada partida por vez. No fim
da lista de conclusões, o sino é tocado (sujeito à configuração de estilo sino)
e o texto original é restaurado. Um argumento de n movimentos n posições para a frente em
a lista de correspondências; um argumento negativo pode ser usado para retroceder no
Lista. Este comando se destina a ser vinculado a ABA, mas é desvinculado por padrão.
menu completo para trás
Idêntico a menu completo, mas retrocede na lista de possíveis
conclusões, como se menu completo tinha recebido um argumento negativo. Este comando
é desvinculado por padrão.
excluir-char-ou-lista
Exclui o caractere sob o cursor, se não estiver no início ou no final da linha
(como excluir-char) Se no final da linha, se comporta de forma idêntica a
possíveis-conclusões. Este comando é desvinculado por padrão.
nome de arquivo completo (M- /)
Tente completar o nome do arquivo no texto antes do ponto.
possíveis-conclusões de nome de arquivo (Cx /)
Liste as conclusões possíveis do texto antes do ponto, tratando-o como um nome de arquivo.
nome de usuário completo (M- ~)
Tente completar o texto antes do ponto, tratando-o como um nome de usuário.
possíveis-completações-nome-de-usuário (Cx ~)
Liste as conclusões possíveis do texto antes do ponto, tratando-o como um nome de usuário.
variável completa (M- $)
Tenta completar o texto antes do ponto, tratando-o como uma variável shell.
possíveis-variáveis-completações (Cx $)
Liste as conclusões possíveis do texto antes do ponto, tratando-o como uma casca
variável.
nome de host completo (M- @)
Tente completar o texto antes do ponto, tratando-o como um nome de host.
possíveis-conclusões de nome de host (Cx @)
Liste as conclusões possíveis do texto antes do ponto, tratando-o como um nome de host.
comando completo (M-!)
Tente completar o texto antes do ponto, tratando-o como um nome de comando.
A conclusão do comando tenta comparar o texto com aliases, palavras reservadas,
funções de shell, builtins de shell e, finalmente, nomes de arquivos executáveis, nessa ordem.
possíveis-comandos-completações (Cx !)
Liste as possíveis conclusões do texto antes do ponto, tratando-o como um comando
nome.
história-completa-dinâmica (M-TAB)
Tenta completar o texto antes do ponto, comparando o texto com as linhas de
a lista de histórico para possíveis correspondências de conclusão.
dabbrev-expandir
Tentar completar o menu no texto antes do ponto, comparando o texto com as linhas
da lista de histórico para possíveis correspondências de conclusão.
completamente em colchetes (M- {)
Execute a conclusão do nome do arquivo e insira a lista de possíveis conclusões incluídas
entre colchetes para que a lista esteja disponível para o shell (ver Cinta Expansão acima).

Teclado Macros
iniciar-kbd-macro (Cx ()
Comece salvando os caracteres digitados na macro de teclado atual.
final-kbd-macro (Cx ))
Pare de salvar os caracteres digitados na macro de teclado atual e armazene o
definição.
chamada-última-kbd-macro (Cx e)
Reexecute a última macro de teclado definida, tornando os caracteres na macro
aparecem como se digitados no teclado.
imprimir-último-kbd-macro ()
Imprime a última macro de teclado definida em um formato adequado para o entradarc arquivo.

Gerais
reler-arquivo-init (Cx Cr)
Leia o conteúdo do entradarc arquivo e incorporar quaisquer ligações ou variáveis
atribuições encontradas lá.
abortar (CG)
Abortar o comando de edição atual e tocar a campainha do terminal (sujeito ao
definição de estilo sino).
versão em maiúsculas (Ma, Mb, M-x, ...)
Se o caractere metaficado x está em minúsculas, execute o comando que está vinculado ao
caractere maiúsculo correspondente.
prefixo-meta (ESC)
Metafaça o próximo caractere digitado. CES f é equivalente a Meta-f.
desfazer (C-_, Cx Cu)
Desfazer incremental, lembrado separadamente para cada linha.
linha de retorno (Senhor)
Desfaça todas as alterações feitas nesta linha. É como executar o desfazer comando o suficiente
vezes para retornar a linha ao seu estado inicial.
expansão de til (M- &)
Execute a expansão de til na palavra atual.
marca de ajuste (C- @, M- )
Defina a marca no ponto. Se um argumento numérico for fornecido, a marca é definida para
essa posição.
ponto de troca e marca (Cx Cx)
Troque o ponto pela marca. A posição atual do cursor é definida como salva
posição, e a posição antiga do cursor é salva como a marca.
pesquisa de personagem (C-])
Um caractere é lido e o ponto é movido para a próxima ocorrência desse caractere. UMA
a contagem negativa procura ocorrências anteriores.
personagem-pesquisa-para trás (MC-])
Um caractere é lido e o ponto é movido para a ocorrência anterior daquele
personagem. Uma contagem negativa procura ocorrências subsequentes.
pular-sequência-csi
Leia caracteres suficientes para consumir uma sequência de várias teclas, como aquelas definidas para
chaves como Home e End. Essas sequências começam com um Indicador de Sequência de Controle
(CSI), geralmente ESC- [. Se esta sequência estiver ligada a "\ [", as chaves que produzem tal
as sequências não terão efeito a menos que sejam explicitamente vinculadas a um comando readline,
em vez de inserir caracteres perdidos no buffer de edição. Isso é desvinculado de
padrão, mas geralmente limitado a ESC- [.
inserir comentário (M- #)
Sem um argumento numérico, o valor da linha de leitura comentar-começar variável é
inserido no início da linha atual. Se um argumento numérico for fornecido,
este comando atua como um alternador: se os caracteres no início da linha
não corresponde ao valor de comentar-começar, o valor é inserido, caso contrário, o
personagens em comentar-começar são excluídos do início da linha. Em ambos
caso, a linha é aceita como se uma nova linha tivesse sido digitada. O valor padrão de
comentar-começar faz com que este comando transforme a linha atual em um comentário de shell. Se um
argumento numérico faz com que o caractere de comentário seja removido, a linha será
executado pelo shell.
palavra-completa-glob (Mg)
A palavra antes do ponto é tratada como um padrão para a expansão do nome do caminho, com um
asterisco anexado implicitamente. Este padrão é usado para gerar uma lista de correspondência
nomes de arquivos para possíveis conclusões.
palavra-expansão-glob (Cx *)
A palavra antes do ponto é tratada como um padrão para a expansão do nome do caminho, e a lista
de nomes de arquivo correspondentes é inserido, substituindo a palavra. Se um argumento numérico for
fornecido, um asterisco é acrescentado antes da expansão do nome do caminho.
expansões da lista glob (Cx g)
A lista de expansões que teriam sido geradas por palavra-expansão-glob is
exibida, e a linha é redesenhada. Se um argumento numérico for fornecido, um asterisco
é anexado antes da expansão do nome do caminho.
funções de despejo
Imprima todas as funções e seus atalhos de teclado para o fluxo de saída readline.
Se um argumento numérico for fornecido, a saída será formatada de forma que
pode ser feito parte de um entradarc arquivo.
variáveis ​​de despejo
Imprime todas as variáveis ​​configuráveis ​​da linha de leitura e seus valores na linha de leitura
fluxo de saída. Se um argumento numérico for fornecido, a saída será formatada em tal
uma forma de fazer parte de um entradarc arquivo.
despejo de macros
Imprime todas as sequências de teclas readline associadas a macros e as strings que elas
saída. Se um argumento numérico for fornecido, a saída será formatada de forma
que pode ser parte de um entradarc arquivo.
versão do shell de exibição (Cx Cv)
Exibir informações de versão sobre a instância atual de bater.

Programável Realização
Quando o completamento de palavras é tentado para um argumento para um comando para o qual um completamento
especificação (a compspec) foi definido usando o completar embutido (ver SHELL CONSTRUÍDAS EM
COMANDOS abaixo), os recursos de conclusão programáveis ​​são chamados.

Primeiro, o nome do comando é identificado. Se a palavra de comando for uma string vazia
(tentativa de conclusão no início de uma linha vazia), qualquer compspec definido com o -E
opção para completar é usado. Se um compspec foi definido para esse comando, o compspec
é usado para gerar a lista de conclusões possíveis para a palavra. Se a palavra de comando for
um nome de caminho completo, um compspec para o nome de caminho completo é procurado primeiro. Se não houver compspec
é encontrado para o nome do caminho completo, é feita uma tentativa de encontrar um compspec para a parte
seguindo a barra final. Se essas pesquisas não resultarem em um compspec, qualquer compspec
definido com o -D opção para completar é usado como padrão.

Assim que um compspec for encontrado, ele é usado para gerar a lista de palavras correspondentes. Se um
compspec não foi encontrado, o padrão bater conclusão conforme descrito acima em Concluindo is
realizado.

Primeiro, as ações especificadas pelo compspec são usadas. Apenas correspondências prefixadas por
as palavras que estão sendo completadas são retornadas. Quando o -f or -d opção é usada para nome de arquivo ou
conclusão do nome do diretório, a variável shell FIGNORA é usado para filtrar as correspondências.

Quaisquer conclusões especificadas por um padrão de expansão de nome de caminho para o -G opções são geradas
Next. As palavras geradas pelo padrão não precisam corresponder à palavra que está sendo completada. O
GLOBIGNOR variável shell não é usada para filtrar as correspondências, mas o FIGNORA variável é
usava.

Em seguida, a string especificada como o argumento para o -W opção é considerada. A corda é
primeira divisão usando os caracteres no IFS variável especial como delimitadores. Shell citando
é homenageado. Cada palavra é então expandida usando expansão de chave, expansão de til, parâmetro
e expansão de variável, substituição de comando e expansão aritmética, conforme descrito acima
para EXPANSÃO. Os resultados são divididos usando as regras descritas acima em Word
Dividir. Os resultados da expansão são comparados com o prefixo da palavra ser
concluídas, e as palavras correspondentes tornam-se as conclusões possíveis.

Depois que essas correspondências foram geradas, qualquer função shell ou comando especificado com o
-F e -C options é invocado. Quando o comando ou função é invocado, o COMP_LINE,
COMP_POINT, COMP_KEY e COMP_TYPE variáveis ​​são valores atribuídos conforme descrito acima em
concha Variáveis. Se uma função shell estiver sendo chamada, o COMP_WORDS e COMP_CWORD
variáveis ​​também são definidas. Quando a função ou comando é invocado, o primeiro argumento ($1)
é o nome do comando cujos argumentos estão sendo completados, o segundo argumento ($2)
é a palavra sendo completada, e o terceiro argumento ($3) é a palavra que precede a palavra
sendo concluído na linha de comando atual. Sem filtragem das conclusões geradas
contra a palavra que está sendo completada é executada; a função ou comando foi concluído
liberdade na geração dos jogos.

Qualquer função especificada com -F é invocado primeiro. A função pode usar qualquer um dos shell
instalações, incluindo o compgen embutido descrito abaixo, para gerar as correspondências. Isto
deve colocar as conclusões possíveis no COMPREMENTE variável da matriz, uma por elemento da matriz.

Em seguida, qualquer comando especificado com o -C opção é invocada em um ambiente equivalente a
substituição de comando. Deve imprimir uma lista de conclusões, uma por linha, para o
saída padrão. A barra invertida pode ser usada para escapar de uma nova linha, se necessário.

Depois que todas as conclusões possíveis forem geradas, qualquer filtro especificado com o -X
opção é aplicada à lista. O filtro é um padrão usado para expansão do nome do caminho; uma
& no padrão é substituído pelo texto da palavra que está sendo completada. Um literal & pode
ser escapado com uma barra invertida; a barra invertida é removida antes de tentar uma correspondência. Qualquer
a conclusão que corresponde ao padrão será removida da lista. Uma liderança ! nega
o padrão; neste caso, qualquer conclusão que não corresponda ao padrão será removida.

Finalmente, qualquer prefixo e sufixo especificado com o -P e -S opções são adicionadas a cada
membro da lista de conclusão, e o resultado é retornado ao código de conclusão readline
como a lista de conclusões possíveis.

Se as ações aplicadas anteriormente não geram nenhuma correspondência, e o -o nomes de dir opção
foi fornecido para completar quando o compspec foi definido, a conclusão do nome do diretório é
tentada.

Se o -o maisdirs opção foi fornecida para completar quando o compspec foi definido,
a conclusão do nome do diretório é tentada e todas as correspondências são adicionadas aos resultados do
outras ações.

Por padrão, se um compspec for encontrado, tudo o que ele gerar é retornado para a conclusão
código como o conjunto completo de conclusões possíveis. O padrão bater conclusões não são
tentada, e o padrão readline de conclusão de nome de arquivo é desabilitado. Se o -o
bashdefault opção foi fornecida para completar quando o compspec foi definido, o bater
as conclusões padrão são tentadas se o compspec não gerar correspondências. Se o -o omissão
opção foi fornecida para completar quando o compspec foi definido, o padrão do readline
a conclusão será realizada se o compspec (e, se tentado, o padrão bater
conclusões) não geram correspondências.

Quando um compspec indica que a conclusão do nome do diretório é desejada, o programável
funções de conclusão forçam readline a acrescentar uma barra aos nomes completos que são
links simbólicos para diretórios, sujeitos ao valor do diretórios de marcação readline
variável, independentemente da configuração do diretórios com links simbólicos variável readline.

Existe algum suporte para modificar conclusões dinamicamente. Isso é mais útil quando
usado em combinação com um preenchimento padrão especificado com completar -D. É possível
para funções de shell executadas como manipuladores de conclusão para indicar que a conclusão deve ser
tentado novamente, retornando um status de saída de 124. Se uma função shell retornar 124, e muda
o compspec associado ao comando no qual a conclusão está sendo tentada (fornecido
como o primeiro argumento quando a função é executada), a conclusão programável é reiniciada
desde o início, com uma tentativa de encontrar um novo compspec para esse comando. Isso permite
um conjunto de conclusões a serem construídas dinamicamente à medida que a conclusão é tentada, ao invés de ser
carregado de uma vez.

Por exemplo, supondo que haja uma biblioteca de compspecs, cada um mantido em um arquivo
correspondendo ao nome do comando, a seguinte função de preenchimento padrão
carregar conclusões dinamicamente:

_completion_loader ()
{
. "/etc/bash_completion.d/$ 1.sh "> / dev / null 2> & 1 && return 124
}
completo -D -F _completion_loader -o bashdefault -o padrão

HISTÓRIA


Quando o -o história opção para conjunto embutido está habilitado, o shell fornece acesso ao
comando história, a lista de comandos digitados anteriormente. O valor do HISTORIAR
variável é usada como o número de comandos a serem salvos em uma lista de histórico. O texto do
último HISTORIAR comandos (padrão 500) são salvos. O shell armazena cada comando no
lista de histórico antes da expansão de parâmetro e variável (ver EXPANSÃO acima), mas depois
a expansão do histórico é realizada, sujeita aos valores das variáveis ​​do shell HISTOGNORE
e HISTCONTROL.

Na inicialização, o histórico é inicializado a partir do arquivo nomeado pela variável ARQUIVO HISTÓRICO
(padrão ~ / .bash_history) O arquivo nomeado pelo valor de ARQUIVO HISTÓRICO é truncado, se
necessário, não conter mais do que o número de linhas especificado pelo valor de
HISTFILESIZE. Se HISTFILESIZE não está definido ou definido como nulo, um valor não numérico ou numérico
valor menor que zero, o arquivo de histórico não é truncado. Quando o arquivo de histórico é lido,
linhas que começam com o caractere de comentário do histórico seguido imediatamente por um dígito são
interpretados como carimbos de data / hora para a linha de histórico anterior. Esses carimbos de data / hora são opcionalmente
exibido dependendo do valor do HIST TIME FORMATO variável. Quando uma concha com
saídas habilitadas para história, a última $ HISTSIZE linhas são copiadas da lista de histórico para
$ HISTFILE. Se o histappend opção de shell está habilitada (veja a descrição de comprar para
SHELL CONSTRUÍDAS EM COMANDOS abaixo), as linhas são anexadas ao arquivo de histórico, caso contrário, o
o arquivo de histórico é sobrescrito. Se ARQUIVO HISTÓRICO não está definido, ou se o arquivo de histórico não é gravável,
a história não é salva. Se o HIST TIME FORMATO variável é definida, carimbos de hora são gravados
para o arquivo de histórico, marcado com o caractere de comentário de histórico, para que possam ser preservados
em sessões de shell. Isso usa o caractere de comentário de histórico para distinguir carimbos de data / hora
de outras linhas de história. Depois de salvar o histórico, o arquivo de histórico é truncado para
não contém mais do que HISTFILESIZE linhas. Se HISTFILESIZE não está definido, ou definido como nulo, um não
valor numérico ou um valor numérico menor que zero, o arquivo de histórico não é truncado.

O comando embutido fc (Vejo SHELL CONSTRUÍDAS EM COMANDOS abaixo) pode ser usado para listar ou editar e
reexecute uma parte da lista de histórico. O história embutido pode ser usado para exibir ou
modifique a lista de histórico e manipule o arquivo de histórico. Ao usar a edição de linha de comando,
os comandos de pesquisa estão disponíveis em cada modo de edição que fornece acesso ao histórico
Lista.

O shell permite controlar quais comandos são salvos na lista de histórico. O
HISTCONTROL e HISTOGNORE variáveis ​​podem ser definidas para fazer com que o shell salve apenas um subconjunto
dos comandos inseridos. O cmdist opção de shell, se habilitada, faz com que o shell
tentar salvar cada linha de um comando de várias linhas na mesma entrada do histórico, adicionando
ponto e vírgula quando necessário para preservar a correção sintática. O litista opção de shell
faz com que o shell salve o comando com novas linhas incorporadas em vez de ponto-e-vírgulas. Ver
a descrição do comprar embutido embaixo de SHELL CONSTRUÍDAS EM COMANDOS para obter informações sobre
configuração e desconfiguração das opções do shell.

HISTÓRIA EXPANSÃO


O shell suporta um recurso de expansão de histórico que é semelhante à expansão de histórico em
csh. Esta seção descreve quais recursos de sintaxe estão disponíveis. Este recurso está habilitado
por padrão para shells interativos e pode ser desativado usando o +H opção para conjunto
comando embutido (veja SHELL CONSTRUÍDAS EM COMANDOS abaixo). Shells não interativos não funcionam
expansão da história por padrão.

As expansões de histórico introduzem palavras da lista de histórico no fluxo de entrada, tornando-o
fácil de repetir comandos, insira os argumentos de um comando anterior na entrada atual
linha ou corrija erros em comandos anteriores rapidamente.

A expansão do histórico é realizada imediatamente após uma linha completa ser lida, antes do shell
divide em palavras. Acontece em duas partes. O primeiro é determinar qual linha
da lista de histórico para usar durante a substituição. A segunda é selecionar porções de
essa linha para inclusão na atual. A linha selecionada da história é a
evento, e as porções dessa linha que recebem a ação são palavras. Vários modificadores e guarante que os mesmos estão
disponível para manipular as palavras selecionadas. A linha é quebrada em palavras no mesmo
forma como ao ler a entrada, de modo que vários metacaractere- palavras separadas cercadas por
as citações são consideradas uma palavra. As expansões da história são introduzidas pelo aparecimento de
o personagem de expansão da história, que é ! por padrão. Apenas barra invertida (\) e solteiro
as citações podem citar o caractere de expansão do histórico.

Vários personagens inibem a expansão da história se encontrados imediatamente após a história
caractere de expansão, mesmo se não estiver entre aspas: espaço, tab, nova linha, retorno de carro e =.
Se o extglob opção de shell está habilitada, ( também inibirá a expansão.

Várias opções de shell configuráveis ​​com o comprar embutido pode ser usado para ajustar o comportamento
de expansão da história. Se o histverificar opção de shell está habilitada (veja a descrição de
que o comprar embutido abaixo), e readline está sendo usado, as substituições de histórico não são
imediatamente passado para o analisador de shell. Em vez disso, a linha expandida é recarregada no
readline buffer de edição para modificações posteriores. Se readline está sendo usado, e o
edição histórica opção de shell está habilitada, uma substituição de histórico com falha será recarregada em
que o readline buffer de edição para correção. O -p opção para história comando embutido
pode ser usado para ver o que uma expansão de histórico fará antes de usá-la. O -s opção para
história embutido pode ser usado para adicionar comandos ao final da lista de histórico sem
realmente executando-os, de modo que estejam disponíveis para recuperação subsequente.

O shell permite o controle dos vários caracteres usados ​​pelo mecanismo de expansão do histórico
(veja a descrição de históricos acima sob concha Variáveis) O shell usa o
caractere de comentário de histórico para marcar os carimbos de data / hora do histórico ao gravar o arquivo de histórico.

Evento Designadores
Um designador de evento é uma referência a uma entrada de linha de comando na lista de histórico. A menos que
a referência é absoluta, os eventos são relativos à posição atual no histórico
Lista.

! Inicie uma substituição de histórico, exceto quando seguido por um em branco, nova linha, carruagem
return, = ou ((quando o extglob opção de shell é habilitada usando o comprar construídas em).
!n Consulte a linha de comando n.
!-n Consulte o comando atual menos n.
!! Consulte o comando anterior. Este é um sinônimo para `! -1 '.
!corda
Consulte o comando mais recente que precede a posição atual na lista de histórico
começando com corda.
!?corda[?]
Consulte o comando mais recente que precede a posição atual na lista de histórico
contendo corda. O rastro ? pode ser omitido se corda é seguido imediatamente
por uma nova linha.
^string1^string2^
Substituição rápida. Repita o comando anterior, substituindo string1 com string2.
Equivalente a `` !!: s /string1/string2/'' (Vejo Modificadores abaixo).
!# Toda a linha de comando digitada até agora.

Word Designadores
Os designadores de palavras são usados ​​para selecionar as palavras desejadas do evento. UMA : separa o evento
especificação da palavra designador. Pode ser omitido se a palavra designador começar
com uma ^, $, *, -ou %. As palavras são numeradas desde o início da linha, com o
primeira palavra sendo denotada por 0 (zero). Palavras são inseridas na linha atual separadas
por espaços individuais.

0 (zero)
A palavra zero. Para o shell, esta é a palavra de comando.
n A nª palavra.
^ O primeiro argumento. Ou seja, palavra 1.
$ A última palavra. Este é geralmente o último argumento, mas se expandirá para o zero
palavra se houver apenas uma palavra na linha.
% A palavra correspondida pelo mais recente `?corda? ' procurar.
x-y Uma gama de palavras; `-y'abrevia `0-y'.
* Todas as palavras, exceto o zero. Este é um sinônimo para `1- $'. Não é um erro
usar * se houver apenas uma palavra no evento; a string vazia é retornada em
Aquele caso.
x* Abreviações x- $.
x- Abreviações x- $ como x*, mas omite a última palavra.

Se um designador de palavra for fornecido sem uma especificação de evento, o comando anterior é
usado como o evento.

Modificadores
Após a palavra designador opcional, pode aparecer uma sequência de um ou mais dos
seguintes modificadores, cada um precedido por um `: '.

h Remova um componente de nome de arquivo à direita, deixando apenas o cabeçalho.
t Remova todos os componentes principais do nome do arquivo, deixando a cauda.
r Remova um sufixo final do formulário . Xxx, deixando o nome de base.
e Remova tudo, exceto o sufixo final.
p Imprime o novo comando, mas não o executa.
q Cite as palavras substituídas, evitando outras substituições.
x Cite as palavras substituídas como com q, mas fale em palavras em espaços em branco e novas linhas.
s/velho/novo/
Substituto novo para a primeira ocorrência de velho na linha do evento. Qualquer delimitador
pode ser usado no lugar de /. O delimitador final é opcional se for o último
caráter da linha do evento. O delimitador pode ser citado em velho e novo com uma
barra invertida única. Se & aparecer em novo, é substituído por velho. Uma única barra invertida
irá citar o &. Se velho é nulo, é definido para o último velho substituído, ou, se não
substituições de história anteriores ocorreram, a última corda em uma !?corda[?]
procurar.
& Repita a substituição anterior.
g Fazer com que as alterações sejam aplicadas em toda a linha do evento. Isso é usado em
conjunção com `:s'(por exemplo, `: gs /velho/novo/') ou `:&'. Se usado com `:s', qualquer
delimitador pode ser usado no lugar de /, e o delimitador final é opcional se for
o último caractere da linha do evento. Um a pode ser usado como sinônimo de g.
G Aplique o seguinte `s'modificador uma vez para cada palavra na linha de evento.

SHELL CONSTRUÍDAS EM COMANDOS


Salvo indicação em contrário, cada comando embutido documentado nesta seção aceita
opções precedidas por - aceita -- para significar o fim das opções. O :, verdadeiro, falso,
e teste builtins não aceitam opções e não tratam -- especialmente. O saída, Sair,
quebrar, continuar, deixar e mudança builtins aceitam e processam argumentos começando com -
sem exigir --. Outros embutidos que aceitam argumentos, mas não são especificados como
aceitar opções interpretar argumentos começando com - como opções inválidas e exigem --
para evitar esta interpretação.
: [argumentos]
Sem efeito; o comando não faz nada além de expandir argumentos e realizando qualquer
redirecionamentos especificados. Um código de saída zero é retornado.

. nome do arquivo [argumentos]
fonte nome do arquivo [argumentos]
Leia e execute comandos de nome do arquivo no ambiente shell atual e retornar
o status de saída do último comando executado a partir de nome do arquivo. Se nome do arquivo não
contém uma barra, nomes de arquivos em PATH são usados ​​para encontrar o diretório que contém
nome do arquivo. O arquivo pesquisado em PATH não precisa ser executável. Quando bater não é
in posix modo, o diretório atual é pesquisado se nenhum arquivo for encontrado em PATH. Se
que o caminho de origem opção para comprar comando embutido está desligado, o PATH não é
pesquisado. Caso existam argumentos são fornecidos, eles se tornam os parâmetros posicionais
quando nome do arquivo É executado. Caso contrário, os parâmetros posicionais permanecem inalterados. O
o status de retorno é o status do último comando saído do script (0 se não
comandos são executados), e falso se nome do arquivo não foi encontrado ou não pode ser lido.

aliás [-p] [nome[=valor] ...]
aliás sem argumentos ou com o -p opção imprime a lista de apelidos no
formulário aliás nome=valor na saída padrão. Quando os argumentos são fornecidos, um alias é
definido para cada nome de quem valor é dada. Um espaço à direita em valor faz com que o
próxima palavra a ser verificada para substituição de alias quando o alias for expandido. Por
cada nome na lista de argumentos para os quais não valor é fornecido, o nome e o valor
do alias é impresso. aliás retorna verdadeiro a menos que um nome é dado para o qual não
alias foi definido.

bg [especificação do trabalho ...]
Retomar cada trabalho suspenso especificação do trabalho no fundo, como se tivesse começado com
&. Se especificação do trabalho não está presente, a noção do shell do atual trabalho é usado. bg
especificação do trabalho retorna 0 a menos que seja executado quando o controle de trabalho estiver desabilitado ou, quando executado com trabalho
controle habilitado, qualquer especificado especificação do trabalho não foi encontrado ou foi iniciado sem trabalho
controlar.

vincular [-m keymap] [-lpsvPSVX]
vincular [-m keymap] [-q função] [-u função] [-r sequência de teclas]
vincular [-m keymap] -f nome do arquivo
vincular [-m keymap] -x sequência de teclas:comando shell
vincular [-m keymap] sequência de teclas:nome da função
vincular comando readline
Exibir atual readline ligações de teclas e funções, vincule uma sequência de teclas a um
readline função ou macro, ou definir um readline variável. Cada argumento não opcional
é um comando como apareceria em .inputrc, mas cada ligação ou comando deve ser
passado como um argumento separado; por exemplo, '"\ Cx \ Cr": releia o arquivo de inicialização'. Opções, se
fornecido, tem os seguintes significados:
-m keymap
Use keymap como o mapa de teclado a ser afetado pelas ligações subsequentes.
Aceitável keymap nomes são emacs, padrão emacs, emacs-meta, emacs-ctlx,
vi, vi-movimento, comando vi e vi-inserir. vi é equivalente a comando vi;
emacs é equivalente a padrão emacs.
-l Liste os nomes de todos readline funções.
-p Ecrã readline nomes de funções e ligações de forma que possam ser
reler.
-P Lista atual readline nomes de funções e ligações.
-s Ecrã readline sequências de teclas vinculadas a macros e as strings que geram
de forma que possam ser relidos.
-S Ecrã readline sequências de teclas vinculadas a macros e às strings que geram.
-v Ecrã readline nomes de variáveis ​​e valores de forma que possam ser
reler.
-V Lista atual readline nomes e valores de variáveis.
-f nome do arquivo
Leia atalhos de teclado de nome do arquivo.
-q função
Consulta sobre quais chaves invocam o nome função.
-u função
Desvincular todas as chaves vinculadas ao nome função.
-r sequência de teclas
Remova qualquer ligação atual para sequência de teclas.
-x sequência de teclas:comando shell
Causar comando shell para ser executado sempre que sequência de teclas é introduzido. Quando
comando shell é executado, o shell define o READLINE_LINE variável para o
conteúdo do readline buffer de linha e o READLINE_POINT variável para o
localização atual do ponto de inserção. Se o comando executado mudar
o valor de READLINE_LINE or READLINE_POINT, esses novos valores serão
refletido no estado de edição.
-X Liste todas as sequências de teclas vinculadas aos comandos do shell e os comandos associados
em um formato que pode ser reutilizado como entrada.

O valor de retorno é 0, a menos que uma opção não reconhecida seja fornecida ou ocorra um erro.

quebrar [n]
Saia de dentro de um para, enquanto, atéou selecionar ciclo. Se n é especificado, quebra n
níveis. n deve ser ≥ 1. Se n é maior do que o número de loops delimitadores, todos
os loops de fechamento são encerrados. O valor de retorno é 0 a menos n não é maior que ou
igual a 1.

builtin construído em concha [argumentos]
Executa o shell especificado embutido, passando-o argumentos, e retornar sua saída
status. Isso é útil ao definir uma função cujo nome é o mesmo de um shell
embutido, mantendo a funcionalidade do embutido dentro da função. O cd
builtin é comumente redefinido dessa forma. O status de retorno é falso se
construído em concha não é um comando interno do shell.

chamador [expr]
Retorna o contexto de qualquer chamada de sub-rotina ativa (uma função shell ou um script
executado com o . or fonte builtins). Sem expr, chamador exibe a linha
número e nome do arquivo de origem da chamada de sub-rotina atual. Se um não negativo
inteiro é fornecido como expr, chamador exibe o número da linha, nome da sub-rotina e
arquivo de origem correspondente a essa posição na pilha de chamadas de execução atual.
Essas informações extras podem ser usadas, por exemplo, para imprimir um rastreamento de pilha. O
o quadro atual é o quadro 0. O valor de retorno é 0 a menos que o shell não esteja executando
uma chamada de subrotina ou expr não corresponde a uma posição válida na chamada
pilha.

cd [-L|[-P [-e]] [- @]] [dir]
Mude o diretório atual para dir. E se dir não é fornecido, o valor do EMPRESA
a variável shell é o padrão. Quaisquer argumentos adicionais a seguir dir são ignorados.
A variável CDPATH define o caminho de pesquisa para o diretório que contém dir: cada
nome do diretório em CDPATH é procurado por dir. Nomes de diretório alternativos em
CDPATH são separados por dois pontos (:). Um nome de diretório nulo em CDPATH é o mesmo
como o diretório atual, ou seja, ``.''. Se dir começa com uma barra (/), então CDPATH
não é usado. o -P opção causa cd para usar a estrutura de diretório físico por
resolução de links simbólicos durante a travessia dir e antes de processar instâncias de ..
in dir (veja também o -P opção para conjunto comando embutido); a -L forças de opção
links simbólicos a serem seguidos pela resolução do link após o processamento de instâncias de
.. in dir. Se .. aparece em dir, é processado removendo o imediatamente
componente de nome do caminho anterior de dir, de volta para uma barra ou o início de dir. Se
que o -e opção é fornecida com -P, e o diretório de trabalho atual não pode ser
determinado com sucesso após uma mudança de diretório bem-sucedida, cd retornará um
status de malsucedido. Em sistemas que o suportam, o -@ opção apresenta o
atributos estendidos associados a um arquivo como um diretório. Um argumento de - is
convertido para $ OLDPWD antes que a mudança de diretório seja tentada. Se um não vazio
nome do diretório de CDPATH é usado, ou se - é o primeiro argumento, e o
mudança de diretório for bem sucedida, o caminho absoluto do novo diretório de trabalho
é gravado na saída padrão. O valor de retorno é verdadeiro se o diretório era
alterado com sucesso; caso contrário, false.

comando [-pVv] comando [arg ...]
Execute comando com args suprimindo a pesquisa de função shell normal. Apenas embutido
comandos ou comandos encontrados no PATH são executados. Se o -p opção é dada,
a pesquisa por comando é executado usando um valor padrão para PATH isso é
garantido para encontrar todos os utilitários padrão. Se o -V or -v opção
fornecido, uma descrição de comando é impresso. O -v opção faz com que uma única palavra
indicando o comando ou nome de arquivo usado para invocar comando a ser exibido; a -V
opção produz uma descrição mais detalhada. Se o -V or -v opção é fornecida,
o status de saída é 0 se comando foi encontrado, e 1 caso não. Se nenhuma das opções for
fornecido e ocorreu um erro ou comando não pode ser encontrado, o status de saída é 127.
Caso contrário, o status de saída do comando embutido é o status de saída de comando.

compgen [opção] [palavra]
Gerar possíveis correspondências de conclusão para palavra de acordo com a opçãos, que pode
ser qualquer opção aceita pelo completar embutido com exceção de -p e -r e
escreva as correspondências na saída padrão. Ao usar o -F or -C opções, o
várias variáveis ​​de shell definidas pelos recursos de conclusão programáveis, enquanto
disponíveis, não terão valores úteis.

As correspondências serão geradas da mesma forma como se a conclusão programável
o código os gerou diretamente de uma especificação de conclusão com o mesmo
bandeiras. Se palavra é especificado, apenas as conclusões correspondentes palavra será
exibido.

O valor de retorno é verdadeiro, a menos que uma opção inválida seja fornecida ou nenhuma correspondência seja
gerado.

completar [-abcdefgjksuv] [-o opção comp] [-DE] [-A açao] [-G globpat] [-W lista de palavras] [-F
função] [-C comando]
[-X filtrante] [-P prefixo] [-S sufixo] nome [nome ...]
completar -pr [-DE] [nome ...]
Especifique como os argumentos para cada nome deve ser concluído. Se o -p opção
fornecido, ou se nenhuma opção for fornecida, as especificações de conclusão existentes são
impressos de forma a permitir que sejam reutilizados como insumos. O -r opção remove um
especificação de conclusão para cada nome, ou, se não nomes são fornecidos, todos
especificações de conclusão. O -D opção indica que as opções restantes e
as ações devem ser aplicadas à conclusão do comando `` default ''; isto é, conclusão
tentada em um comando para o qual nenhuma conclusão foi definida anteriormente. O -E
opção indica que as opções e ações restantes devem ser aplicadas a `` vazio ''
conclusão do comando; isto é, tentativa de conclusão em uma linha em branco.

O processo de aplicação dessas especificações de completamento quando o completamento de palavras é
tentado é descrito acima em Programável Realização.

Outras opções, se especificadas, têm os significados a seguir. Os argumentos para o -G,
-W e -X opções (e, se necessário, o -P e -S opções) deve ser citado para
protegê-los da expansão antes do completar builtin é invocado.
-o opção comp
A opção comp controla vários aspectos do comportamento do compspec além
a geração simples de completações. opção comp pode ser um de:
bashdefault
Execute o resto do padrão bater conclusões se o compspec
não gera correspondências.
omissão Use o complemento de nome de arquivo padrão do readline se o compspec
não gera correspondências.
nomes de dir
Execute a conclusão do nome do diretório se o compspec não gerar
fósforos.
nomes de arquivos
Diga ao readline que o compspec gera nomes de arquivos, para que ele possa
realizar qualquer processamento específico de nome de arquivo (como adicionar uma barra ao
nomes de diretório, citando caracteres especiais ou suprimindo
espaços desnecessários à direita do texto). Destina-se a ser usado com funções de shell.
sem aspas Diga ao readline para não citar as palavras completas se elas forem
nomes de arquivos (citar nomes de arquivos é o padrão).
sem espaço Diga ao readline para não acrescentar um espaço (o padrão) às palavras
concluído no final da linha.
maisdirs
Depois que quaisquer correspondências definidas pelo compspec são geradas, o diretório
a conclusão do nome é tentada e todas as correspondências são adicionadas ao
resultados das demais ações.
-A açao
A açao pode ser um dos seguintes para gerar uma lista de possíveis
conclusões:
aliás Nomes de alias. Também pode ser especificado como -a.
arrayvar
Nomes de variáveis ​​de matriz.
obrigatório Readline nomes de ligação de chave.
builtin Nomes de comandos internos do shell. Também pode ser especificado como -b.
comando Nomes de comandos. Também pode ser especificado como -c.
anuário
Nomes de diretórios. Também pode ser especificado como -d.
inválido
Nomes de built-ins de shell desativados.
habilitado Nomes de embutidos de shell habilitados.
exportar Nomes de variáveis ​​de shell exportadas. Também pode ser especificado como -e.
lima Nomes de arquivos. Também pode ser especificado como -f.
função
Nomes de funções do shell.
grupo Nomes de grupos. Também pode ser especificado como -g.
tópico de ajuda
Tópicos de ajuda aceitos pelo ajudar construídas em.
hostname
Nomes de host, conforme retirados do arquivo especificado pelo ARQUIVO HOSPEDEIRO concha
variável.
trabalho Nomes de trabalho, se o controle de trabalho estiver ativo. Também pode ser especificado como -j.
palavra chave Palavras reservadas da Shell. Também pode ser especificado como -k.
corrida Nomes de trabalhos em execução, se o controle de trabalhos estiver ativo.
serviço Nomes de serviço. Também pode ser especificado como -s.
settop Argumentos válidos para o -o opção para conjunto construídas em.
comprar Nomes de opções de shell conforme aceitos pelo comprar construídas em.
sinal Nomes de sinais.
parou Nomes de trabalhos interrompidos, se o controle de trabalho estiver ativo.
usuário Nomes de usuário. Também pode ser especificado como -u.
variável
Nomes de todas as variáveis ​​do shell. Também pode ser especificado como -v.
-C comando
comando é executado em um ambiente de subshell, e sua saída é usada como
as possíveis finalizações.
-F função
A função shell função é executado no ambiente shell atual.
Quando a função é executada, o primeiro argumento ($1) é o nome do
comando cujos argumentos estão sendo completados, o segundo argumento ($2) é
a palavra sendo completada, e o terceiro argumento ($3) é a palavra que precede
a palavra sendo completada na linha de comando atual. Quando terminar,
as conclusões possíveis são recuperadas do valor de COMPREMENTE
variável de matriz.
-G globpat
O padrão de expansão do nome do caminho globpat é expandido para gerar o possível
conclusões.
-P prefixo
prefixo é adicionado no início de cada conclusão possível depois de tudo
outras opções foram aplicadas.
-S sufixo
sufixo é anexado a cada conclusão possível após todas as outras opções terem
foi aplicado.
-W lista de palavras
A lista de palavras é dividido usando os caracteres no IFS variável especial como
delimitadores, e cada palavra resultante é expandida. As possíveis finalizações
são os membros da lista resultante que correspondem à palavra que está sendo completada.
-X filtrante
filtrante é um padrão usado para expansão de nome de caminho. É aplicado a
a lista de possíveis conclusões geradas pelas opções anteriores e
argumentos e cada correspondência de conclusão filtrante é removido da lista.
Uma liderança ! in filtrante nega o padrão; neste caso, qualquer conclusão
não combina filtrante é removido.

O valor de retorno é verdadeiro, a menos que uma opção inválida seja fornecida, uma opção diferente
-p or -r é fornecido sem um nome argumento, é feita uma tentativa de remover um
especificação de conclusão de um nome para o qual não existe especificação, ou um erro
ocorre adicionando uma especificação de conclusão.

compopto [-o opção] [-DE] [+o opção] [nome]
Modifique as opções de conclusão para cada nome de acordo com a opçãos, ou para o
conclusão atualmente em execução, se não nomes são fornecidos. Se não opçãos são dados,
exibir as opções de conclusão para cada nome ou a conclusão atual. O
valores possíveis de opção são os válidos para completar embutido descrito acima.
A -D opção indica que as opções restantes devem ser aplicadas ao `` padrão ''
conclusão do comando; ou seja, tentativa de conclusão em um comando para o qual não
conclusão foi previamente definida. O -E opção indica que o restante
as opções devem ser aplicadas à conclusão do comando `` vazio ''; isto é, tentativa de conclusão
em uma linha em branco.

O valor de retorno é verdadeiro, a menos que uma opção inválida seja fornecida, uma tentativa é feita
para modificar as opções de um nome para os quais não existe especificação de conclusão, ou
ocorre um erro de saída.

continuar [n]
Retomar a próxima iteração do anexo para, enquanto, atéou selecionar ciclo. Se n
for especificado, retomar no no loop envolvente. n deve ser ≥ 1. Se n é maior
do que o número de loops delimitadores, o último loop delimitador (o ``nível superior''
loop) é retomado. O valor de retorno é 0, a menos que n não é maior ou igual a
1.

declarar [-aAfFgilnrtux] [-p] [nome[=valor] ...]
formatado [-aAfFgilnrtux] [-p] [nome[=valor] ...]
Declare variáveis ​​e/ou dê-lhes atributos. Se não nomes são fornecidos e exibidos
os valores das variáveis. O -p opção irá exibir os atributos e valores de
cada nome. Quando -p é usado com nome argumentos, opções adicionais, exceto -f
e -F, são ignorados. Quando -p é fornecido sem nome argumentos, ele irá mostrar
os atributos e valores de todas as variáveis ​​com os atributos especificados pelo
opções adicionais. Se nenhuma outra opção for fornecida com -p, declarar exibirá
os atributos e valores de todas as variáveis ​​do shell. O -f opção irá restringir a
exibir para funções de shell. O -F opção inibe a exibição da função
definições; apenas o nome da função e os atributos são impressos. Se o extirpar
a opção shell é habilitada usando comprar, o nome do arquivo de origem e o número da linha onde o
função é definida são exibidos também. O -F opção implica -f. O -g
opção força as variáveis ​​a serem criadas ou modificadas no escopo global, mesmo quando
declarar é executado em uma função shell. Ele é ignorado em todos os outros casos. O
as opções a seguir podem ser usadas para restringir a saída a variáveis ​​com o especificado
atributo ou para dar atributos de variáveis:
-a Cada nome é uma variável de matriz indexada (veja Arrays acima).
-A Cada nome é uma variável de matriz associativa (consulte Arrays acima).
-f Use apenas nomes de funções.
-i A variável é tratada como um inteiro; avaliação aritmética (ver ARITMÉTICA
AVALIAÇÃO acima) é executado quando a variável recebe um valor.
-l Quando a variável recebe um valor, todos os caracteres maiúsculos são
convertido para minúsculas. O atributo de maiúsculas está desativado.
-n Dê a cada nome que o nomeref atributo, tornando-o uma referência de nome a outro
variável. Essa outra variável é definida pelo valor de nome. Todos
referências e atribuições para nome, exceto para alterar o -n atributo
em si, são executados na variável referenciada por nomevalor. O -n
atributo não pode ser aplicado a variáveis ​​de matriz.
-r Realizar nomes somente leitura. Esses nomes não podem ser atribuídos a valores por
instruções de atribuição subsequentes ou não definidas.
-t Dê a cada nome que o traçar atributo. As funções rastreadas herdam a DEBUG e
RETORNO armadilhas do shell de chamada. O atributo trace não tem
significado para variáveis.
-u Quando a variável recebe um valor, todos os caracteres minúsculos são
convertidos para maiúsculas. O atributo de letras minúsculas está desabilitado.
-x Mark nomes para exportação para comandos subsequentes por meio do ambiente.

Usar `+' em vez de `-' desativa o atributo, com as exceções que
+a não pode ser usado para destruir uma variável de matriz e +r não irá remover o readonly
atributo. Quando usado em uma função, declarar e formatado faça cada um nome local, como
com o local comando, a menos que o -g opção é fornecida. Se o nome de uma variável for
seguido por =valor, o valor da variável é definido como valor. Ao usar -a or -A
e a sintaxe de atribuição composta para criar variáveis ​​de array, atributos adicionais
não entram em vigor até as atribuições subsequentes. O valor de retorno é 0, a menos que um
for encontrada uma opção inválida, é feita uma tentativa de definir uma função usando ``-f
foo=bar'', é feita uma tentativa de atribuir um valor a uma variável somente leitura, uma tentativa
é feito para atribuir um valor a uma variável de matriz sem usar o composto
sintaxe de atribuição (ver Arrays acima), um dos nomes não é um shell válido
nome da variável, é feita uma tentativa de desligar o status somente leitura para um
variável, é feita uma tentativa de desligar o status do array para uma variável de array, ou um
é feita uma tentativa de exibir uma função inexistente com -f.

dirs [-clpv] [+n] [-n]
Sem opções, exibe a lista de diretórios atualmente lembrados. O
a exibição padrão está em uma única linha com nomes de diretório separados por espaços.
Os diretórios são adicionados à lista com o pushd comando; a popd comando remove
entradas da lista.
-c Limpa a pilha do diretório, excluindo todas as entradas.
-l Produz uma lista usando nomes de caminho completos; o formato de lista padrão usa um
til para denotar o diretório inicial.
-p Imprima a pilha de diretórios com uma entrada por linha.
-v Imprima a pilha de diretórios com uma entrada por linha, prefixando cada entrada com
seu índice na pilha.
+n Exibe o nª entrada contando a partir da esquerda da lista mostrada por dirs quando
invocado sem opções, começando com zero.
-n Exibe o nª entrada contando a partir da direita da lista mostrada por dirs
quando invocado sem opções, começando com zero.

O valor de retorno é 0, a menos que uma opção inválida seja fornecida ou n índices além do
final da pilha de diretórios.

renegar [-ar] [-h] [especificação do trabalho ...]
Sem opções, remova cada especificação do trabalho da tabela de empregos ativos. Se especificação do trabalho is
não está presente, e nem o -a nem o -r opção é fornecida, o atual trabalho is
usado. Se o -h opção é dada, cada especificação do trabalho não é removido da tabela, mas
está marcado para que SIGA não é enviado para o trabalho se o shell receber um SIGA. Se
não especificação do trabalho é fornecido, o -a opção significa remover ou marcar todos os trabalhos; a -r
opção sem um especificação do trabalho argumento restringe a operação a trabalhos em execução. O retorno
valor é 0 a menos que um especificação do trabalho não especifica um trabalho válido.

eco [-neE] [arg ...]
Produza o args, separados por espaços, seguidos por uma nova linha. O estado de retorno é
0 a menos que ocorra um erro de gravação. Se -n for especificado, a nova linha à direita será
suprimido. Se o -e opção é fornecida, a interpretação da seguinte barra invertida
caracteres de escape estão ativados. O -E opção desativa a interpretação destes
caracteres de escape, mesmo em sistemas onde eles são interpretados por padrão. O
xpg_echo A opção de shell pode ser usada para determinar dinamicamente se eco
expande esses caracteres de escape por padrão. eco não interpreta -- para significar o
fim das opções. eco interpreta as seguintes sequências de escape:
\a alerta (sino)
\b retrocesso
\c suprimir mais saída
\e
\E um personagem de escape
\f formulário de alimentação
\n nova linha
\r retorno de carro
\t aba horizontal
\v aba vertical
\\ barra invertida
\0nnn o caractere de oito bits cujo valor é o valor octal nnn (zero a três
dígitos octais)
\xHH o caractere de oito bits cujo valor é o valor hexadecimal HH (um ou dois
dígitos hexadecimais)
\uHhhh o caractere Unicode (ISO / IEC 10646) cujo valor é o valor hexadecimal
Hhhh (um a quatro dígitos hexadecimais)
\UHHHHHHH
o caractere Unicode (ISO / IEC 10646) cujo valor é o valor hexadecimal
HHHHHHH (um a oito dígitos hexadecimais)

permitir [-a] [-dnps] [-f nome do arquivo] [nome ...]
Habilite e desabilite os comandos internos do shell. Desabilitar um builtin permite que um disco
comando que tem o mesmo nome de um shell embutido para ser executado sem
especificando um nome de caminho completo, mesmo que o shell normalmente procure por builtins
antes dos comandos de disco. Se -n é usado, cada nome está desabilitado; de outra forma, nomes e guarante que os mesmos estão
ativado. Por exemplo, para usar o teste binário encontrado através do PATH ao invés de
versão embutida do shell, execute ``enable -n test''. O -f opção significa carregar o novo
comando embutido nome de objeto compartilhado nome do arquivo, em sistemas que suportam dinâmica
carregando. O -d opção irá deletar um builtin previamente carregado com -f. Se não
nome argumentos são dados, ou se o -p opção é fornecida, uma lista de shell embutidos
é impresso. Sem outros argumentos de opção, a lista consiste em todos os shells habilitados
builtins. Se -n é fornecido, apenas os internos desativados são impressos. Se -a is
fornecida, a lista impressa inclui todos os embutidos, com indicação de se ou
nem cada um está habilitado. Se -s é fornecido, a saída é restrita ao POSIX
especial embutidos. O valor de retorno é 0, a menos que um nome não é um shell embutido ou
há um erro ao carregar um novo builtin de um objeto compartilhado.

avaliação [arg ...]
A args são lidos e concatenados juntos em um único comando. Este comando é
então lido e executado pelo shell, e seu status de saída é retornado como o valor
of avaliação. Se não houver args, ou apenas argumentos nulos, avaliação retorna 0.

exec [-cl] [-a nome] [comando [argumentos]]
If comando for especificado, ele substituirá o shell. Nenhum novo processo é criado. O
argumentos tornam-se os argumentos para comando. Se o -l opção é fornecida, o shell
coloca um travessão no início do argumento zero passado para comando. Isto é
o que entrar(1) sim. o -c opção causa comando a ser executado com um vazio
ambiente. Se -a é fornecido, a casca passa nome como o argumento zero para
o comando executado. Se comando não pode ser executado por algum motivo, um não
sai do shell interativo, a menos que o falha de execução opção de shell está habilitada. Naquilo
caso, ele retorna falha. Um shell interativo retorna falha se o arquivo não puder
ser executado. Se comando não for especificado, qualquer redirecionamento terá efeito no
shell atual e o status de retorno é 0. Se houver um erro de redirecionamento, o
status de retorno é 1.

saída [n]
Faz com que o shell saia com um status de n. Se n é omitido, o status de saída é
o do último comando executado. Uma armadilha SAIR é executado antes do shell
termina.

exportar [-fn] [nome[=palavra]] ...
exportar -p
O fornecido nomes estão marcados para exportação automática para o ambiente de
comandos executados posteriormente. Se o -f opção é dada, o nomes referem-se a
funções. Se não nomes são dadas, ou se o -p é fornecida, uma lista de nomes
de todas as variáveis ​​exportadas é impresso. O -n opção faz com que a propriedade de exportação para
ser removido de cada nome. Se um nome de variável for seguido por =palavra, o valor de
a variável está definida para palavra. exportar retorna um status de saída 0, a menos que um inválido
opção for encontrada, uma das nomes não é um nome de variável shell válido ou -f
é fornecido com um nome isso não é uma função.

fc [-e nomear] [-lnr] [primeiro] [último]
fc -s [pancadinha=rep] [cmd]
A primeira forma seleciona uma variedade de comandos de primeiro para último da lista de história
e exibe ou edita e os executa novamente. Primeiro nome e último pode ser especificado como um
string (para localizar o último comando começando com essa string) ou como um número (um
índice na lista de histórico, onde um número negativo é usado como um deslocamento do
número do comando atual). Se último não está especificado está definido para o comando actual
para listagem (de modo que `` fc -l -10 '' imprima os últimos 10 comandos) e para primeiro
de outra forma. Se primeiro não é especificado, é definido como o comando anterior para edição
e -16 para listagem.

A -n opção suprime os números de comando ao listar. O -r opção reverte
a ordem dos comandos. Se o -l opção é fornecida, os comandos são listados em
saída padrão. Caso contrário, o editor fornecido por nomear é invocado em um arquivo
contendo esses comandos. Se nomear não é dado, o valor do EDITAR variável
é usado, e o valor de EDITOR if EDITAR não está definido. Se nenhuma variável for definida,
vi é usado. Quando a edição é concluída, os comandos editados são ecoados e executados.

Na segunda forma, comando é executado novamente após cada instância de pancadinha É substituído
by rep. Command é interpretado da mesma forma que primeiro acima. Um alias útil para usar com
isso é ``r="fc -s"'', então digitar ``r cc'' executa o último comando começando com
`` cc '' e digitar `` r '' executa novamente o último comando.

Se o primeiro formulário for usado, o valor de retorno será 0, a menos que uma opção inválida seja
encontrado ou primeiro or último especificar linhas de histórico fora do intervalo. Se o -e opção
for fornecido, o valor de retorno é o valor do último comando executado ou falha
se ocorrer um erro com o arquivo temporário de comandos. Se a segunda forma for
usado, o status de retorno é o do comando reexecutado, a menos que cmd não
especifique uma linha de histórico válida, nesse caso fc retorna falha.

fg [especificação do trabalho]
CV especificação do trabalho em primeiro plano e torná-lo o trabalho atual. Se especificação do trabalho não é
presente, a noção do shell do atual trabalho é usado. O valor de retorno é aquele
do comando colocado em primeiro plano, ou falha se executado quando o controle do trabalho é
desativado ou, quando executado com o controle de trabalho ativado, se especificação do trabalho não especifica um válido
trabalho ou especificação do trabalho especifica um trabalho que foi iniciado sem controle de trabalho.

obter opções string de opção nome [args]
obter opções é usado por procedimentos de shell para analisar parâmetros posicionais. string de opção
contém os caracteres de opção a serem reconhecidos; se um caractere é seguido por um
dois pontos, espera-se que a opção tenha um argumento, que deve ser separado de
-lo por espaço em branco. Os caracteres dois pontos e ponto de interrogação não podem ser usados ​​como
caracteres de opção. Cada vez que é invocado, obter opções coloca a próxima opção no
variável shell nome, inicializando nome se não existe, e o índice do
próximo argumento a ser processado na variável OPTINDO. OPTINDO é inicializado em 1
cada vez que o shell ou um script de shell é invocado. Quando uma opção requer um
argumento, obter opções coloca esse argumento na variável OPTARG. A casca faz
não redefinir OPTINDO automaticamente; deve ser redefinido manualmente entre várias chamadas para
obter opções dentro da mesma invocação do shell se um novo conjunto de parâmetros for usado.

Quando o fim das opções é encontrado, obter opções sai com um valor de retorno maior
do que zero. OPTINDO é definido para o índice do primeiro argumento não opcional e nome
está configurado para ?.

obter opções normalmente analisa os parâmetros posicionais, mas se mais argumentos forem fornecidos
in args, obter opções analisa-os em vez disso.

obter opções pode relatar erros de duas maneiras. Se o primeiro personagem de string de opção é um
cólon, silencioso relatório de erros é usado. Em operação normal, mensagens de diagnóstico
são impressos quando opções inválidas ou argumentos de opção ausentes são encontrados. Se
a variável OPTERR é definido como 0, nenhuma mensagem de erro será exibida, mesmo se o
primeiro personagem de string de opção não é dois pontos.

Se uma opção inválida for vista, obter opções locais ? em nome e, se não silencioso, imprime
uma mensagem de erro e desativa OPTARG. Se obter opções é silencioso, o caractere de opção
encontrado é colocado em OPTARG e nenhuma mensagem de diagnóstico é impressa.

Se um argumento necessário não for encontrado e obter opções não é silencioso, um ponto de interrogação (?)
é colocado em nome, OPTARG está desabilitado e uma mensagem de diagnóstico é impressa. Se
obter opções é silencioso, então dois pontos (:) é colocado em nome e OPTARG está definido para o
caractere de opção encontrado.

obter opções retorna true se uma opção, especificada ou não especificada, for encontrada. Ele retorna
false se o fim das opções for encontrado ou ocorrer um erro.

hash [-lr] [-p nome do arquivo] [-DT] [nome]
Toda vez hash for invocado, o nome do caminho completo do comando nome é determinado por
pesquisando os diretórios em $ PATH e lembrado. Qualquer lembrança anterior
o nome do caminho é descartado. Se o -p opção é fornecida, nenhuma pesquisa de caminho é realizada,
e nome do arquivo é usado como o nome de arquivo completo do comando. O -r opção faz com que o
shell para esquecer todos os locais lembrados. O -d opção faz com que o shell esqueça
a localização lembrada de cada nome. Se o -t opção é fornecida, o
nome do caminho para o qual cada nome corresponde é impresso. Se múltiplo nome argumentos são
fornecido com -t, nome é impresso antes do nome do caminho completo com hash. O -l
opção faz com que a saída seja exibida em um formato que pode ser reutilizado como entrada. Se
nenhum argumento é fornecido, ou se apenas -l é fornecido, informações sobre memórias
comandos são impressos. O status de retorno é verdadeiro, a menos que um nome não foi encontrado ou um
opção inválida é fornecida.

ajudar [-dms] [de cinto de segurança]
Exibe informações úteis sobre comandos embutidos. Se de cinto de segurança é especificado, ajudar
oferece ajuda detalhada em todos os comandos correspondentes de cinto de segurança; caso contrário, ajuda para todos os
builtins e estruturas de controle do shell é impresso.
-d Exibir uma breve descrição de cada de cinto de segurança
-m Exibir a descrição de cada de cinto de segurança em um formato semelhante a uma página de manual
-s Exibir apenas uma breve sinopse de uso para cada de cinto de segurança

O status de retorno é 0, a menos que nenhum comando corresponda de cinto de segurança.

história [n]
história -c
história -d compensar
história -anrw [nome do arquivo]
história -p arg [arg ...]
história -s arg [arg ...]
Sem opções, exibe a lista do histórico de comandos com os números das linhas. Linhas listadas
com uma * foram modificados. Um argumento de n lista apenas o último n linhas. Se o
variável shell HIST TIME FORMATO é definido e não nulo, é usado como uma string de formato
para horário de trabalho(3) para exibir o carimbo de hora associado a cada histórico exibido
entrada. Nenhum espaço em branco intermediário é impresso entre o carimbo de hora formatado e o
linha de história. Se nome do arquivo for fornecido, será usado como nome do arquivo de histórico;
se não, o valor de ARQUIVO HISTÓRICO é usado. As opções, se fornecidas, têm o seguinte
significados:
-c Limpe a lista de histórico, excluindo todas as entradas.
-d compensar
Exclua a entrada do histórico na posição compensar.
-a Acrescente as ``novas'' linhas do histórico (linhas do histórico inseridas desde o início
da corrente bater sessão) para o arquivo de histórico.
-n Leia as linhas de histórico que ainda não foram lidas do arquivo de histórico no
lista de histórico atual. Estas são linhas anexadas ao arquivo de histórico desde
o começo da corrente bater sessão.
-r Leia o conteúdo do arquivo de histórico e acrescente-o ao histórico atual
Lista.
-w Grave a lista de histórico atual no arquivo de histórico, sobrescrevendo o histórico
conteúdo do arquivo.
-p Execute a substituição do histórico no seguinte args e exibir o resultado em
a saída padrão. Não armazena os resultados na lista de histórico. Cada
arg deve ser citado para desabilitar a expansão normal do histórico.
-s Armazene o args na lista de histórico como uma única entrada. O último comando em
a lista de histórico é removida antes do args são adicionados.

Se o HIST TIME FORMATO variável é definida, as informações de carimbo de data / hora associadas com
cada entrada do histórico é gravada no arquivo de histórico, marcada com o comentário do histórico
personagem. Quando o arquivo de histórico é lido, as linhas que começam com o comentário do histórico
caractere seguido imediatamente por um dígito são interpretados como carimbos de data / hora para o
linha de história anterior. O valor de retorno é 0, a menos que uma opção inválida seja
encontrado, ocorre um erro ao ler ou gravar o arquivo de histórico, um
compensar é fornecido como um argumento para -d, ou a expansão do histórico fornecida como
argumento para -p falha.

empregos [-lnprs] [ especificação do trabalho ...]
empregos -x comando [ args ...]
O primeiro formulário lista os trabalhos ativos. As opções têm os seguintes significados:
-l Liste os IDs de processo além das informações normais.
-n Exibir informações apenas sobre trabalhos que mudaram de status desde que o usuário
foi notificado pela última vez de seu status.
-p Liste apenas o ID do processo do líder do grupo de processos do trabalho.
-r Exibe apenas os trabalhos em execução.
-s Exibe apenas trabalhos parados.

If especificação do trabalho for fornecido, a saída será restrita às informações sobre esse trabalho. O
o status de retorno é 0, a menos que uma opção inválida seja encontrada ou um especificação do trabalho is
fornecido.

Se o -x opção é fornecida, empregos substitui qualquer especificação do trabalho encontrado em comando or args
com o ID do grupo de processo correspondente e executa comando passando args,
retornando seu status de saída.

matar [-s sigspec | -n assinar | -sigspec] [pid | especificação do trabalho] ...
matar -l [sigspec | status_de_saída]
Envie o sinal nomeado por sigspec or assinar para os processos nomeados por pid or
especificação do trabalho. sigspec é um nome de sinal que não diferencia maiúsculas de minúsculas, como SIGKILL (com ou
sem o SIG prefixo) ou um número de sinal; assinar é um número de sinal. Se sigspec
não está presente então PRAZO META é assumido. Um argumento de -l lista os nomes dos sinais.
Se algum argumento for fornecido quando -l é dado, os nomes dos sinais
correspondentes aos argumentos são listados e o status de retorno é 0. O
status_de_saída argumento para -l é um número que especifica um número de sinal ou o
status de saída de um processo encerrado por um sinal. matar retorna verdadeiro se pelo menos um
o sinal foi enviado com sucesso, ou falso se ocorrer um erro ou uma opção inválida for
encontrados.

deixar arg [arg ...]
Cada arg é uma expressão aritmética a ser avaliada (ver ARITMÉTICA AVALIAÇÃO
acima). Se o último arg avalia como 0, deixar retorna 1; 0 é retornado caso contrário.

local [opção] [nome[=valor] ...]
Para cada argumento, uma variável local chamada nome é criado e atribuído valor. O
opção pode ser qualquer uma das opções aceitas por declarar. Quando local é usado dentro de um
função, faz com que a variável nome ter um escopo visível restrito àquele
função e seus filhos. Sem operandos, local escreve uma lista de locais
variáveis ​​para a saída padrão. É um erro usar local quando não está dentro de um
função. O status de retorno é 0, a menos local é usado fora de uma função, um
inválido nome é fornecido, ou nome é uma variável somente leitura.

Sair Saia de um shell de login.

arquivo de mapa [-n contar] [-O origem] [-s contar] [-t] [-u fd] [-C ligue de volta] [-c quantum] [ordem]
readarray [-n contar] [-O origem] [-s contar] [-t] [-u fd] [-C ligue de volta] [-c quantum]
[ordem]
Leia as linhas da entrada padrão na variável de matriz indexada ordem, Ou a partir
descritor de arquivo fd se o -u opção é fornecida. A variável ARQUIVO DE MAPA é o
omissão ordem. As opções, se fornecidas, têm os seguintes significados:
-n Copie no máximo contar linhas. Se contar for 0, todas as linhas serão copiadas.
-O Comece atribuindo a ordem no índice origem. O índice padrão é 0.
-s Descarte o primeiro contar linhas lidas.
-t Remova uma nova linha à direita de cada linha lida.
-u Leia as linhas do descritor de arquivo fd em vez da entrada padrão.
-C Avaliação ligue de volta cada vez quantum as linhas são lidas. O -c opção especifica
quantum.
-c Especifique o número de linhas lidas entre cada chamada para ligue de volta.

If -C é especificado sem -c, o quantum padrão é 5000. Quando ligue de volta is
avaliado, é fornecido o índice do próximo elemento do array a ser atribuído e
a linha a ser atribuída a esse elemento como argumentos adicionais. ligue de volta is
avaliada depois que a linha é lida, mas antes que o elemento da matriz seja atribuído.

Se não for fornecido com uma origem explícita, arquivo de mapa vai limpar ordem antes de atribuir
a ele.

arquivo de mapa retorna com sucesso a menos que uma opção inválida ou argumento de opção seja
fornecido, ordem é inválido ou não atribuível, ou se ordem não é uma matriz indexada.

popd [-n] [+n] [-n]
Remove entradas da pilha de diretórios. Sem argumentos, remove o topo
diretório da pilha e executa um cd para o novo diretório principal. Argumentos,
se fornecidos, têm os seguintes significados:
-n Suprime a mudança normal de diretório ao remover diretórios do
pilha, de modo que apenas a pilha seja manipulada.
+n Remove o nª entrada contando a partir da esquerda da lista mostrada por dirs,
começando com zero. Por exemplo: `` popd +0 '' remove o primeiro diretório,
`` popd +1 '' o segundo.
-n Remove o nª entrada contando a partir da direita da lista mostrada por dirs,
começando com zero. Por exemplo: ``popd -0'' remove o último diretório,
``popd -1'' penúltimo.

Se o popd comando for bem sucedido, um dirs também é realizado, e o retorno
o status é 0. popd retorna false se uma opção inválida for encontrada, o diretório
pilha está vazia, uma entrada de pilha de diretório inexistente é especificada ou o diretório
a mudança falha.

printf [-v var] formato [argumentos]
Escreva o formatado argumentos à saída padrão sob o controle do
formato. O -v opção faz com que a saída seja atribuída à variável var em vez
do que ser impresso na saída padrão.

A formato é uma cadeia de caracteres que contém três tipos de objetos: simples
caracteres, que são simplesmente copiados para a saída padrão, sequências de escape de caracteres,
que são convertidos e copiados para a saída padrão e especificações de formato,
cada um dos quais causa a impressão do próximo argumento. Em adição ao
padrão printf(1) especificações de formato, printf interpreta o seguinte
extensões:
%b causas printf para expandir as sequências de escape de barra invertida no correspondente
argumento (exceto aquilo \c termina a saída, barras invertidas em \', \" e \?
não são removidos, e escapes octais começando com \0 pode conter até quatro
dígitos).
%q causas printf para emitir o correspondente argumento em um formato que pode ser
reutilizado como entrada do shell.
%(datafmt)T
causas printf para gerar a string de data e hora resultante do uso datafmt as
uma string de formato para horário de trabalho(3). O correspondente argumento é um inteiro
representando o número de segundos desde a época. Dois argumentos especiais
valores podem ser usados: -1 representa a hora atual e -2 representa a
hora em que o shell foi invocado. Se nenhum argumento for especificado, a conversão se comporta
como se -1 tivesse sido dado. Esta é uma exceção ao usual printf comportamento.

Argumentos para especificadores de formato não string são tratados como constantes C, exceto que um
sinal de adição ou subtração inicial é permitido, e se o caractere inicial for um único ou
aspas duplas, o valor é o valor ASCII do caractere a seguir.

A formato é reutilizado conforme necessário para consumir todo o argumentos. Se o formato
requer mais argumentos do que são fornecidos, as especificações de formato extra se comportam
como se um valor zero ou string nula, conforme apropriado, tivesse sido fornecido. O retorno
valor é zero em caso de sucesso, diferente de zero em caso de falha.

pushd [-n] [+n] [-n]
pushd [-n] [dir]
Adiciona um diretório ao topo da pilha de diretórios ou gira a pilha, tornando
o novo topo da pilha o diretório de trabalho atual. Sem argumentos,
troca os dois diretórios principais e retorna 0, a menos que a pilha de diretórios seja
vazio. Os argumentos, se fornecidos, têm os seguintes significados:
-n Suprime a mudança normal de diretório ao adicionar diretórios ao
pilha, de modo que apenas a pilha seja manipulada.
+n Gira a pilha para que o nº diretório (contando a partir da esquerda do
lista mostrada por dirs, começando com zero) está no topo.
-n Gira a pilha para que o nº diretório (contando a partir da direita do
lista mostrada por dirs, começando com zero) está no topo.
dir Adiciona dir para a pilha de diretórios no topo, tornando-se o novo atual
diretório de trabalho como se tivesse sido fornecido como argumento para o cd
construídas em.

Se o pushd comando for bem sucedido, um dirs também é executado. Se o primeiro formulário
é usado, pushd retorna 0 a menos que o cd para dir falha. Com a segunda forma, pushd
retorna 0 a menos que a pilha de diretório esteja vazia, uma pilha de diretório inexistente
elemento é especificado, ou o diretório muda para o novo atual especificado
diretório falha.

pwd [-LP]
Imprima o caminho absoluto do diretório de trabalho atual. O nome do caminho impresso
não contém links simbólicos se o -P opção é fornecida ou o -o físico opção
ao conjunto comando embutido está habilitado. Se o -L é usada, o nome do caminho
impresso pode conter links simbólicos. O status de retorno é 0 a menos que ocorra um erro
ao ler o nome do diretório atual ou uma opção inválida é fornecida.

ler [-ers] [-a um nome] [-d delim] [-i texto] [-n nchars] [-N nchars] [-p pronto] [-t
tempo limite] [-u fd] [nome ...]
Uma linha é lida da entrada padrão ou do descritor de arquivo fd fornecidas
como um argumento para o -u opção, e a primeira palavra é atribuída ao primeiro nome,
a segunda palavra para o segundo nome, e assim por diante, com sobras de palavras e seus
separadores intermediários atribuídos ao último nome. Se houver menos palavras lidas
do fluxo de entrada que nomes, os nomes restantes são atribuídos a valores vazios.
Os caracteres em IFS são usados ​​para dividir a linha em palavras usando as mesmas regras
o shell usa para expansão (descrito acima em Word Dividir) A barra invertida
caractere (\) pode ser usado para remover qualquer significado especial para o próximo caractere lido
e para continuação de linha. As opções, se fornecidas, têm os seguintes significados:
-a um nome
As palavras são atribuídas a índices sequenciais da variável de matriz um nome,
começando em 0. um nome não é definido antes de quaisquer novos valores serem atribuídos. De outros
nome argumentos são ignorados.
-d delim
O primeiro personagem de delim é usado para terminar a linha de entrada, em vez de
do que newline.
-e Se a entrada padrão vem de um terminal, readline (Vejo LEIA A LINHA
acima) é usado para obter a linha. Readline usa o atual (ou padrão,
se a edição de linha não estiver ativa anteriormente) configurações de edição.
-i texto
If readline está sendo usado para ler a linha, texto é colocado na edição
buffer antes de começar a edição.
-n nchars
ler retorna depois de ler nchars personagens em vez de esperar por um
linha completa de entrada, mas respeite um delimitador se for menor que nchars
os caracteres são lidos antes do delimitador.
-N nchars
ler retorna depois de ler exatamente nchars personagens ao invés de esperar por
uma linha completa de entrada, a menos que EOF seja encontrado ou ler o tempo acabou.
Caracteres delimitadores encontrados na entrada não são tratados de forma especial e
não causa ler voltar até nchars personagens são lidos.
-p pronto
Ecrã pronto no erro padrão, sem uma nova linha à direita, antes
tentando ler qualquer entrada. O prompt é exibido apenas se a entrada for
vindo de um terminal.
-r A barra invertida não funciona como um caractere de escape. A barra invertida é considerada
fazer parte da linha. Em particular, um par de barra invertida-nova linha pode não ser
usado como uma continuação de linha.
-s Modo silencioso. Se a entrada vier de um terminal, os caracteres não serão ecoados.
-t tempo limite
Causar ler para expirar e retornar a falha se uma linha completa de entrada (ou um
número especificado de caracteres) não é lido dentro tempo limite segundos. tempo limite
pode ser um número decimal com uma parte fracionária após o decimal
ponto. Esta opção só é eficaz se ler está lendo a entrada de um
terminal, tubo ou outro arquivo especial; não tem efeito ao ler de
arquivos regulares. Se ler o tempo acabou, ler salva qualquer entrada parcial lida em
a variável especificada nome. Se tempo limite é 0, ler retorna imediatamente,
sem tentar ler nenhum dado. O status de saída é 0 se a entrada estiver disponível
no descritor de arquivo especificado, diferente de zero caso contrário. O status de saída é
maior que 128 se o tempo limite for excedido.
-u fd Leia a entrada do descritor de arquivo fd.

Se nenhum nomes são fornecidos, a linha lida é atribuída à variável RESPOSTA. O
código de retorno é zero, a menos que o fim do arquivo seja encontrado, ler tempo limite (em que
caso o código de retorno seja maior que 128), um erro de atribuição de variável (como
atribuição a uma variável somente leitura) ocorre ou um descritor de arquivo inválido é fornecido
como o argumento para -u.

somente leitura [-aAf] [-p] [nome[=palavra] ...]
O dado nomes são marcados como somente leitura; os valores desses nomes não pode ser alterado
por atribuição subsequente. Se o -f opção é fornecida, as funções
correspondente ao nomes estão tão marcados. O -a opção restringe as variáveis ​​a
matrizes indexadas; a -A A opção restringe as variáveis ​​a arrays associativos. Se
ambas as opções são fornecidas, -A tem precedência. Se não nome argumentos são dados, ou
se o -p for fornecida, uma lista de todos os nomes somente leitura será impressa. O outro
opções podem ser usadas para restringir a saída a um subconjunto do conjunto de somente leitura
nomes. o -p opção faz com que a saída seja exibida em um formato que pode ser reutilizado
como entrada. Se um nome de variável for seguido por =palavra, o valor da variável é
definido para palavra. O status de retorno é 0, a menos que uma opção inválida seja encontrada, um
da nomes não é um nome de variável shell válido ou -f é fornecido com um nome que
não é uma função.

retorno [n]
Faz com que uma função pare de ser executada e retorne o valor especificado por n ao seu
chamador. Se n for omitido, o status de retorno é o do último comando executado em
o corpo da função. Se retorno é usado fora de uma função, mas durante a execução de um
roteiro pelo . (fonte) comando, faz com que o shell pare de executar esse
script e retornar n ou o status de saída do último comando executado dentro
o script como o status de saída do script. Se n é fornecido, o valor de retorno é
seus 8 bits menos significativos. O status de retorno é diferente de zero se retorno é fornecida
um argumento não numérico, ou é usado fora de uma função e não durante a execução de um
roteiro de . or fonte. Qualquer comando associado ao RETORNO armadilha é executada
antes que a execução continue após a função ou script.

conjunto [--abefhkmnptuvxBCEHPT] [-o nome-opção] [arg ...]
conjunto [+ abefhkmnptuvxBCEHPT] [+o nome-opção] [arg ...]
Sem opções, o nome e o valor de cada variável do shell são exibidos em um
formato que pode ser reutilizado como entrada para definir ou redefinir o
variáveis. Variáveis ​​somente leitura não podem ser redefinidas. Dentro posix modo, apenas shell
variáveis ​​são listadas. A saída é classificada de acordo com o local atual. Quando
opções são especificadas, eles definem ou desativam atributos de shell. Quaisquer argumentos restantes
após o processamento da opção são tratados como valores para os parâmetros posicionais e são
designados, em ordem, para $1, $2, ... $n. As opções, se especificadas, têm o seguinte
significados:
-a Marca automaticamente as variáveis ​​e funções que são modificadas ou criadas
para exportação para o ambiente de comandos subsequentes.
-b Relate o status de trabalhos em segundo plano encerrados imediatamente, em vez de
antes do próximo prompt primário. Isso é eficaz apenas quando o controle de trabalho é
ativado.
-e Saia imediatamente se um oleoduto (que pode consistir em um único simples
comando) Do Lista, Ou um composto comando (Vejo SHELL GRAMÁTICA acima), sai
com um status diferente de zero. O shell não sai se o comando falhar
faz parte da lista de comandos imediatamente após um enquanto or até palavra-chave,
parte do teste após a if or elif palavras reservadas, parte de qualquer
comando executado em um && or || list exceto o comando após o final
&& or ||, qualquer comando em um pipeline, exceto o último, ou se o comando
valor de retorno está sendo invertido com !. Se um comando composto diferente de um
subshell retorna um status diferente de zero porque um comando falhou enquanto -e foi
sendo ignorado, o shell não fecha. Uma armadilha ERR, se definido, é executado
antes que o shell saia. Esta opção se aplica ao ambiente shell e
cada ambiente de subcamada separadamente (ver COMANDO EXECUÇÃO MEIO AMBIENTE
acima), e pode fazer com que os subshells saiam antes de executar todos os comandos
na subcamada.

Se um comando composto ou função shell for executado em um contexto em que -e is
sendo ignorado, nenhum dos comandos executados dentro do comando composto ou
o corpo funcional será afetado pelo -e configuração, mesmo que -e está definido e um
comando retorna um status de falha. Se um comando composto ou função shell
conjuntos -e durante a execução em um contexto onde -e é ignorado, essa configuração irá
não tem nenhum efeito até que o comando composto ou o comando contendo
a chamada de função é concluída.
-f Desative a expansão do nome do caminho.
-h Lembre-se da localização dos comandos à medida que são procurados para execução.
Isso é ativado por padrão.
-k Todos os argumentos na forma de instruções de atribuição são colocados no
ambiente para um comando, não apenas aqueles que precedem o nome do comando.
-m Modo de monitoração. O controle de trabalho está ativado. Esta opção está ativada por padrão para
shells interativos em sistemas que o suportam (veja TRABALHO CONTROLE acima). Tudo
os processos são executados em um grupo de processos separado. Quando um trabalho em segundo plano
for concluído, o shell imprime uma linha contendo seu status de saída.
-n Leia os comandos, mas não os execute. Isso pode ser usado para verificar um shell
script para erros de sintaxe. Isso é ignorado pelos shells interativos.
-o nome-opção
A nome-opção pode ser um dos seguintes:
Allexport
Igual a -a.
braçadeira
Igual a -B.
emacs Use uma interface de edição de linha de comando no estilo emacs. Isso está ativado
por padrão quando o shell é interativo, a menos que o shell seja
começou com o --sem edição opção. Isso também afeta a edição
interface usada para ler -e.
errar Igual a -e.
rastreamento de erro
Igual a -E.
função
Igual a -T.
hashall Igual a -h.
histexpandir
Igual a -H.
história Ative o histórico de comandos, conforme descrito acima em HISTÓRIA. Este
opção está ativada por padrão em shells interativos.
ignorar
O efeito é como se o comando shell ``IGNOREEOF=10'' tivesse sido
executado (veja concha Variáveis acima).
palavra chave Igual a -k.
monitor Igual a -m.
nocturno
Igual a -C.
noexec Igual a -n.
noglob Igual a -f.
nolog Atualmente ignorado.
notificar Igual a -b.
conjunto de substantivos Igual a -u.
umcmd Igual a -t.
físico
Igual a -P.
falha na tubulação
Se definido, o valor de retorno de um pipeline é o valor do último
comando (mais à direita) para sair com um status diferente de zero, ou zero se todos
comandos no pipeline saem com sucesso. Esta opção é
desativado por padrão.
posix Mudar o comportamento de bater onde a operação padrão difere
do padrão POSIX para corresponder ao padrão (posix modo). Vejo
VEJA TAMBÉM abaixo para uma referência a um documento que detalha como posix
modo afeta o comportamento do bash.
privilegiado
Igual a -p.
detalhado Igual a -v.
vi Use uma interface de edição de linha de comando no estilo vi. Isso também afeta
a interface de edição usada para ler -e.
xtrace Igual a -x.
If -o é fornecido sem nome-opção, os valores das opções atuais
são impressos. Se +o é fornecido sem nome-opção, uma série de conjunto
comandos para recriar as configurações de opções atuais são exibidos no
saída padrão.
-p Ligar privilegiado modo. Neste modo, o $ ENV e $ BASH_ENV arquivos são
não processado, as funções do shell não são herdadas do ambiente e
que o CONCHAS, BASHOPTS, CDPATH e GLOBIGNOR variáveis, se aparecerem
no meio ambiente, são ignorados. Se o shell for iniciado com o
ID do usuário efetivo (grupo) não é igual ao ID real do usuário (grupo) e o -p
opção não é fornecida, essas ações são realizadas e o ID de usuário efetivo
é definido como o ID de usuário real. Se o -p opção é fornecida na inicialização, o
o ID de usuário efetivo não é redefinido. Desligar esta opção faz com que o
os IDs efetivos de usuário e grupo sejam definidos para os IDs reais de usuário e grupo.
-t Saia depois de ler e executar um comando.
-u Trate variáveis ​​e parâmetros não definidos além dos parâmetros especiais "@"
e "*" como um erro ao realizar a expansão de parâmetros. Se a expansão for
tentada em uma variável ou parâmetro não definido, o shell imprime um erro
mensagem e, se não for interativo, sai com um status diferente de zero.
-v Imprime as linhas de entrada do shell à medida que são lidas.
-x Após expandir cada simples comando, para comando, casas comando, selecionar
comando ou aritmética para comando, exibe o valor expandido de PS4,
seguido pelo comando e seus argumentos expandidos ou lista de palavras associada.
-B O shell executa a expansão de chaves (consulte Cinta Expansão acima de). Isso está ativado
por padrão.
-C Se definido, bater não sobrescreve um arquivo existente com o >, >& e <>
operadores de redirecionamento. Isso pode ser substituído ao criar arquivos de saída
usando o operador de redirecionamento >| em vez de >.
-E Se definido, qualquer armadilha ERR é herdado por funções shell, comando
substituições e comandos executados em um ambiente subshell. O ERR
trap normalmente não é herdado em tais casos.
-H permitir ! substituição de histórico de estilo. Esta opção está ativada por padrão quando
o shell é interativo.
-P Se definido, o shell não resolve links simbólicos ao executar comandos
tais como cd que alteram o diretório de trabalho atual. Ele usa o físico
estrutura de diretórios em vez disso. Por padrão, bater segue a cadeia lógica de
diretórios ao executar comandos que alteram o diretório atual.
-T Se definido, quaisquer armadilhas DEBUG e RETORNO são herdados por funções shell,
substituições de comandos e comandos executados em um ambiente de subshell.
A DEBUG e RETORNO as armadilhas normalmente não são herdadas nesses casos.
-- Se nenhum argumento seguir esta opção, os parâmetros posicionais serão
não definido. Caso contrário, os parâmetros posicionais são definidos para o args, mesmo se
alguns deles começam com um -.
- Sinalize o fim das opções, pois todas as restantes args a ser atribuído ao
parâmetros posicionais. O -x e -v as opções estão desativadas. Se houver
não args, os parâmetros posicionais permanecem inalterados.

As opções estão desativadas por padrão, salvo indicação em contrário. Usando + em vez de -
faz com que essas opções sejam desativadas. As opções também podem ser especificadas como
argumentos para uma invocação do shell. O conjunto atual de opções pode ser encontrado
in $-. O status de retorno é sempre verdadeiro, a menos que uma opção inválida seja encontrada.

mudança [n]
Os parâmetros posicionais de n+1 ... são renomeados para $1 .... parâmetros
representado pelos números $# até $#-n+1 não estão definidos. n deve ser não negativo
número menor ou igual a $#. Se n for 0, nenhum parâmetro será alterado. Se n is
não dado, assume-se que é 1. Se n é melhor que $#, o posicional
parâmetros não são alterados. O status de retorno é maior que zero se n é maior
do que $# ou menor que zero; caso contrário 0.

comprar [-pqsu] [-o] [nome da opção ...]
Alterne os valores das configurações que controlam o comportamento opcional do shell. As configurações
podem ser os listados abaixo, ou, se o -o opção é usada, as disponíveis
com o -o opção para conjunto comando embutido. Sem opções, ou com o -p
opção, uma lista de todas as opções configuráveis ​​é exibida, com uma indicação de se
ou não cada um está definido. O -p opção faz com que a saída seja exibida em um formato que pode
ser reutilizado como entrada. Outras opções têm os seguintes significados:
-s Ativar (definir) cada nome da opção.
-u Desativar (desativar) cada nome da opção.
-q Suprime a saída normal (modo silencioso); o status de retorno indica se
que o nome da opção está definido ou desarmado. Se vários nome da opção argumentos são dados com
-q, o status de retorno é zero se todos nomes de opções estão habilitados; diferente de zero
de outra forma.
-o Restringe os valores de nome da opção ser os definidos para o -o opção para
conjunto construídas em.

Se -s or -u é usado sem nome da opção argumentos, comprar mostra apenas aqueles
opções que são ativadas ou desativadas, respectivamente. Salvo indicação em contrário, o comprar
as opções estão desabilitadas (não definidas) por padrão.

O status de retorno ao listar opções é zero se todos nomes de opções estão habilitados, não
zero caso contrário. Ao definir ou desarmar opções, o status de retorno é zero
a menos que um nome da opção não é uma opção de shell válida.

A lista de comprar as opções são:

CD automático Se definido, um nome de comando que é o nome de um diretório é executado como se
foram o argumento para o cd comando. Esta opção é usada apenas por
conchas interativas.
cdable_vars
Se definido, um argumento para o cd comando embutido que não é um diretório é
assumido como sendo o nome de uma variável cujo valor é o diretório a ser alterado
para.
cdspell Se definido, pequenos erros na ortografia de um componente de diretório em um cd
comando será corrigido. Os erros verificados são transpostos
caracteres, um caractere ausente e um caractere a mais. Se um
correção é encontrada, o nome do arquivo corrigido é impresso e o comando
procede. Esta opção é usada apenas por shells interativos.
hash de verificação
Se definido, bater verifica se um comando encontrado na tabela de hash existe antes
tentando executá-lo. Se um comando com hash não existir mais, um caminho normal
pesquisa é realizada.
trabalhos de verificação
Se definido, bater lista o status de todos os trabalhos parados e em execução antes
sair de um shell interativo. Se algum trabalho estiver em execução, isso fará com que o
saída seja adiada até que uma segunda saída seja tentada sem intervenção
comando (ver TRABALHO CONTROLE acima de). O shell sempre adia a saída, se houver
trabalhos são interrompidos.
checkwinsize
Se definido, bater verifica o tamanho da janela após cada comando e, se necessário,
atualiza os valores de LINHAS e COLUNAS.
cmdist Se definido, bater tenta salvar todas as linhas de um comando de várias linhas no
mesma entrada de histórico. Isso permite a fácil reedição de comandos de várias linhas.
compatibilidade31
Se definido, bater muda seu comportamento para a versão 3.1 em relação a
argumentos citados para o [[ comandos condicionais =~ operador e local-
comparação de string específica ao usar o [[ comandos condicionais < e >
operadores. As versões do Bash anteriores ao bash-4.1 usam agrupamento ASCII e
strcmp(3); bash-4.1 e posterior usam a sequência de agrupamento da localidade atual
e passeio(3).
compatibilidade32
Se definido, bater muda seu comportamento para a versão 3.2 em relação a
comparação de string específica de localidade ao usar o [[ comandos condicionais <
e > operadores (ver item anterior).
compatibilidade40
Se definido, bater muda seu comportamento para a versão 4.0 em relação a
comparação de string específica de localidade ao usar o [[ comandos condicionais <
e > operadores (ver descrição de compatibilidade31) e o efeito de
interromper uma lista de comandos. Bash versões 4.0 e posteriores interrompem o
list como se o shell recebesse a interrupção; as versões anteriores continuam
com o próximo comando na lista.
compatibilidade41
Se definido, bater, quando em posix modo, trata uma aspa simples em aspas duplas
expansão de parâmetro como um caractere especial. As aspas simples devem corresponder
(um número par) e os caracteres entre aspas simples são
considerado citado. Este é o comportamento do modo posix até a versão 4.1.
O comportamento padrão do bash permanece como nas versões anteriores.
compatibilidade42
Se definido, bater não processa a string de substituição no padrão
expansão de palavras de substituição usando remoção de aspas.
citação_completa
Se definido, bater cita todos os metacaracteres do shell em nomes de arquivos e diretórios
nomes ao realizar a conclusão. Se não for definido, bater remove metacaracteres
como o cifrão do conjunto de caracteres que serão citados em
nomes de arquivos completos quando esses metacaracteres aparecem na variável shell
referências em palavras a serem completadas. Isso significa que os cifrões em
nomes de variáveis ​​que se expandem para diretórios não serão citados; no entanto, qualquer
cifrões que aparecem em nomes de arquivos também não serão citados. Isto é
ativo somente quando o bash está usando barras invertidas para citar nomes de arquivos completos.
Esta variável é definida por padrão, que é o comportamento padrão do bash no
versões até 4.2.
expansão direta
Se definido, bater substitui os nomes dos diretórios pelos resultados da expansão de palavras
ao realizar a conclusão do nome do arquivo. Isso altera o conteúdo do
buffer de edição de linha de leitura. Se não for definido, bater tenta preservar o que
digitado pelo usuário.
soletrar
Se definido, bater tenta correção ortográfica em nomes de diretórios durante a palavra
conclusão se o nome do diretório fornecido inicialmente não existir.
globo Se definido, bater inclui nomes de arquivos começando com um `.' nos resultados de
expansão do nome do caminho.
falha de execução
Se definido, um shell não interativo não sairá se não puder executar o arquivo
especificado como um argumento para o exec comando embutido. Um escudo interativo
não sai se exec falha.
expand_aliases
Se definido, os aliases são expandidos conforme descrito acima em ALIASES. Esta opção
é ativado por padrão para shells interativos.
extirpar
Se definido, o comportamento destinado ao uso por depuradores é ativado:
1. A -F opção para declarar builtin exibe o nome do arquivo de origem
e número de linha correspondente a cada nome de função fornecido como
argumento.
2. Se o comando executado pelo DEBUG trap retorna um valor diferente de zero, o
próximo comando é ignorado e não executado.
3. Se o comando executado pelo DEBUG trap retorna um valor de 2, e o
shell está sendo executado em uma sub-rotina (uma função shell ou um shell
roteiro executado pelo . or fonte builtins), uma chamada para retorno is
simulado.
4. BASH_ARGC e BASH_ARGV são atualizados conforme descrito em seus
descrições acima.
5. O rastreamento de função está ativado: substituição de comando, funções de shell,
e subshells invocados com ( comando ) herdar o DEBUG e RETORNO
armadilhas.
6. O rastreamento de erros está ativado: substituição de comando, funções de shell,
e subshells invocados com ( comando ) herdar o ERR armadilha.
extglob Se definido, os recursos estendidos de correspondência de padrões descritos acima em
Pathname Expansão estão habilitados.
extquote
Se definido, $'corda'e $"corda" a cotação é realizada dentro ${parâmetro}
expansões entre aspas duplas. Essa opção é ativada por padrão.
Failglob
Se definido, os padrões que não correspondem aos nomes dos arquivos durante a expansão do nome do caminho
resultar em um erro de expansão.
force_fignore
Se definido, os sufixos especificados pelo FIGNORA variável shell faz com que as palavras
ser ignorado ao realizar o preenchimento de palavras, mesmo que as palavras ignoradas sejam
as únicas conclusões possíveis. Ver SHELL VARIÁVEIS acima para uma descrição
of FIGNORA. Essa opção é ativada por padrão.
globasciiraranges
Se definido, expressões de intervalo usadas em expressões de colchetes de correspondência de padrões (consulte
padrão Correspondente acima) se comportam como se estivessem na localidade C tradicional quando
realizando comparações. Ou seja, a sequência de agrupamento da localidade atual
não é levado em consideração, então b não vai cotejar entre A e B e
caracteres ASCII maiúsculos e minúsculos serão agrupados.
estrela glob
Se definido, o padrão ** usado em um contexto de expansão de nome de caminho corresponderá a todos
arquivos e zero ou mais diretórios e subdiretórios. Se o padrão é
seguido por um /, somente diretórios e subdiretórios correspondem.
gnu_errfmt
Se definido, as mensagens de erro do shell são gravadas na mensagem de erro GNU padrão
formato.
histappend
Se definido, a lista de histórico é anexada ao arquivo nomeado pelo valor da
ARQUIVO HISTÓRICO variável quando o shell é encerrado, em vez de sobrescrever o arquivo.
edição histórica
Se definido, e readline está sendo usado, o usuário tem a oportunidade de
editar uma substituição de histórico com falha.
histverificar
Se definido, e readline está sendo usado, os resultados da substituição do histórico são
não é passado imediatamente para o analisador de shell. Em vez disso, a linha resultante é
carregado no readline buffer de edição, permitindo modificações posteriores.
hostcompleto
Se definido, e readline está sendo usado, bater tentará executar o nome do host
completação quando uma palavra contendo um @ está a ser concluído (ver Concluindo
para LEIA A LINHA acima de). Isso é ativado por padrão.
huponexit
Se definido, bater enviará SIGA para todos os trabalhos quando um shell de login interativo
saídas.
comentários_interativos
Se definido, permite uma palavra que comece com # para fazer com que essa palavra e todos os restantes
caracteres nessa linha sejam ignorados em um shell interativo (consulte COMENTÁRIOS
acima de). Essa opção é ativada por padrão.
último cachimbo
Se definido e o controle de tarefa não estiver ativo, o shell executa o último comando de um
pipeline não executado em segundo plano no ambiente shell atual.
litista Se definido, e o cmdist estiver habilitada, os comandos de várias linhas são salvos em
o histórico com novas linhas incorporadas em vez de usar separadores de ponto e vírgula
sempre que possível.
login_shell
O shell define esta opção se for iniciado como um shell de login (consulte
INVOCAÇÃO acima de). O valor não pode ser alterado.
avisar por correio
Se definido, e um arquivo que bater está verificando se o e-mail foi acessado desde
a última vez que foi verificado, a mensagem ``O correio em arquivo de correio foi
lido'' é exibido.
no_empty_cmd_completion
Se definido, e readline está sendo usado, bater não tentará pesquisar o
PATH para possíveis conclusões quando a conclusão é tentada em um vazio
linha.
Nocaseglob
Se definido, bater corresponde aos nomes dos arquivos de forma que não diferencia maiúsculas de minúsculas quando
executando a expansão do nome do caminho (veja Pathname Expansão acima).
nocasematch
Se definido, bater corresponde aos padrões de uma forma que não diferencia maiúsculas de minúsculas ao executar
correspondência durante a execução casas or [[ comandos condicionais.
nullglob
Se definido, bater permite padrões que não correspondem a nenhum arquivo (veja Pathname Expansão
acima) para expandir para uma string nula, em vez de eles mesmos.
compilação de programa
Se definido, os recursos de conclusão programáveis ​​(consulte Programável Realização
acima) estão habilitados. Essa opção é ativada por padrão.
promptvars
Se definido, as strings de prompt sofrem expansão de parâmetro, substituição de comando,
expansão aritmética e remoção de cotação após ser expandida conforme descrito
in PROVOCAÇÃO acima de. Essa opção é ativada por padrão.
restrito_shell
O shell define esta opção se for iniciado em modo restrito (veja
RESTRITO SHELL abaixo). O valor não pode ser alterado. Isso não é redefinido
quando os arquivos de inicialização são executados, permitindo que os arquivos de inicialização descubram
se um shell é restrito ou não.
shift_verbose
Se definido, o mudança builtin imprime uma mensagem de erro quando a contagem de turnos
excede o número de parâmetros posicionais.
caminho de origem
Se definido, o fonte (.) embutido usa o valor de PATH para encontrar o diretório
contendo o arquivo fornecido como argumento. Esta opção é habilitada por
padrão.
xpg_echo
Se definido, o eco builtin expande sequências de escape de barra invertida por padrão.

suspender [-f]
Suspenda a execução deste shell até que ele receba um PRÓXIMO CONTEÚDO sinal. Um login
shell não pode ser suspenso; a -f opção pode ser usada para substituir isso e forçar a
suspensão. O status de retorno é 0, a menos que o shell seja um shell de login e -f não é
fornecido ou se o controle de trabalho não estiver ativado.

teste expr
[ expr ]
Retorna um status de 0 (verdadeiro) ou 1 (falso) dependendo da avaliação do
expressão condicional expr. Cada operador e operando deve ser um
argumento. As expressões são compostas pelas primárias descritas acima em
CONDICIONAL EXPRESSÕES. teste não aceita quaisquer opções, nem aceita e
ignorar um argumento de -- como significando o fim das opções.

As expressões podem ser combinadas usando os seguintes operadores, listados em ordem decrescente
ordem de precedência. A avaliação depende do número de argumentos; Veja abaixo.
A precedência do operador é usada quando há cinco ou mais argumentos.
! expr Verdadeiro se expr é falso.
( expr )
Retorna o valor de expr. Isso pode ser usado para substituir o normal
precedência de operadores.
expr1 -a expr2
Verdadeiro se ambos expr1 e expr2 são verdadeiras.
expr1 -o expr2
Verdadeiro se qualquer um expr1 or expr2 é verdade.

teste e [ avaliar expressões condicionais usando um conjunto de regras baseadas no
número de argumentos.

Argumentos 0
A expressão é falsa.
1 argumento
A expressão é verdadeira se e somente se o argumento não for nulo.
Argumentos 2
Se o primeiro argumento for !, a expressão é verdadeira se e somente se a segunda
argumento é nulo. Se o primeiro argumento for um dos condicionais unários
operadores listados acima em CONDICIONAL EXPRESSÕES, a expressão é verdadeira
se o teste unário for verdadeiro. Se o primeiro argumento não for um unário válido
operador condicional, a expressão é falsa.
Argumentos 3
As condições a seguir são aplicadas na ordem listada. Se o segundo
argumento é um dos operadores condicionais binários listados acima em
CONDICIONAL EXPRESSÕES, o resultado da expressão é o resultado da
teste binário usando o primeiro e terceiro argumentos como operandos. O -a e -o
operadores são considerados operadores binários quando há três argumentos.
Se o primeiro argumento for !, o valor é a negação dos dois argumentos
teste usando o segundo e terceiro argumentos. Se o primeiro argumento for exatamente
( e o terceiro argumento é exatamente ), o resultado é o teste de um argumento
do segundo argumento. Caso contrário, a expressão é falsa.
Argumentos 4
Se o primeiro argumento for !, o resultado é a negação dos três argumentos
expressão composta pelos argumentos restantes. Caso contrário, a expressão
é analisado e avaliado de acordo com a precedência usando as regras listadas
acima.
5 ou mais argumentos
A expressão é analisada e avaliada de acordo com a precedência usando o
regras listadas acima.

Quando usado com teste or [, < e > operadores classificam lexicograficamente usando ASCII
encomenda.

vezes Imprime os tempos acumulados do usuário e do sistema para o shell e para os processos executados
da casca. O status de retorno é 0.

armadilha [-lp] [[arg] sigspec ...]
O comando arg deve ser lido e executado quando o shell recebe sinais
sigspec. Se arg está ausente (e há um único sigspec) ou -, cada um especificado
sinal é redefinido para sua disposição original (o valor que tinha na entrada do
Concha). Se arg é a string nula o sinal especificado por cada sigspec é ignorado
pelo shell e pelos comandos que ele invoca. Se arg não está presente e -p foi
fornecido, então os comandos trap associados a cada sigspec Estão exibidas. Se não
argumentos são fornecidos ou se apenas -p é dada, armadilha imprime a lista de comandos
associados a cada sinal. O -l opção faz com que o shell imprima uma lista de
nomes de sinais e seus números correspondentes. Cada sigspec é um nome de sinal
definido emsinal.h>, ou um número de sinal. Os nomes dos sinais não diferenciam maiúsculas de minúsculas e
que o SIG prefixo é opcional.

Se um sigspec is SAIR (0) o comando arg é executado na saída do shell. Se um
sigspec is DEBUG, o comando arg é executado antes de cada simples comando, para
comando, casas comando, selecionar comando, toda aritmética para comando e antes do
primeiro comando é executado em uma função shell (veja SHELL GRAMÁTICA acima de). Consulte o
descrição de extirpar opção para comprar builtin para detalhes de seu efeito
na DEBUG armadilha. Se um sigspec is RETORNO, o comando arg é executado cada vez que um
função shell ou um script executado com o . or fonte acabamentos embutidos
executando.

Se um sigspec is ERR, o comando arg é executado sempre que um pipeline (que pode
consistir em um único comando simples), uma lista ou um comando composto retorna um
status de saída diferente de zero, sujeito às seguintes condições. O ERR armadilha não é
executado se o comando com falha fizer parte da lista de comandos imediatamente após um
enquanto or até palavra-chave, parte do teste em um if declaração, parte de um comando
executado em um && or || list exceto o comando após o final && or ||, qualquer
comando em um pipeline, mas o último, ou se o valor de retorno do comando está sendo
invertido usando !. Estas são as mesmas condições obedecidas pelo errar (-e) opção.

Sinais ignorados na entrada no shell não podem ser interceptados ou redefinidos. Encurralado
sinais que não estão sendo ignorados são redefinidos para seus valores originais em um subshell
ou ambiente subshell quando um é criado. O status de retorno é falso se houver
sigspec é inválido; por outro lado armadilha retorna verdadeiro.

tipo [-aftpP] nome [nome ...]
Sem opções, indique como cada nome seria interpretado se usado como um comando
nome. Se o -t opção é usada, tipo imprime uma string que é uma das aliás,
palavra chave, função, builtinou lima if nome é um alias, palavra reservada do shell,
função, builtin ou arquivo de disco, respectivamente. Se o nome não foi encontrado, então
nada é impresso e um status de saída false é retornado. Se o -p opção
usava, tipo retorna o nome do arquivo de disco que seria executado se nome
foram especificados como um nome de comando, ou nada se ``type -t name'' não retornar
lima. O -P opção força um PATH procure por cada nome, mesmo se ``digite -t ​​nome''
não voltaria lima. Se um comando tiver hash, -p e -P imprima o valor com hash,
que não é necessariamente o arquivo que aparece primeiro em PATH. Se o -a opção
usava, tipo imprime todos os lugares que contêm um executável chamado nome. Este
inclui aliases e funções, se e somente se o -p opção também não é usada. O
tabela de comandos com hash não é consultada ao usar -a. O -f opção suprime
pesquisa de função shell, como com o comando construídas em. tipo retorna verdadeiro se todos
os argumentos são encontrados, false se algum não for encontrado.

ulimit [-HSTabcdefilmnpqrstuvx [limitar]]
Fornece controle sobre os recursos disponíveis para o shell e para os processos iniciados
por ela, em sistemas que permitem tal controle. O -H e -S opções especificam que o
limite rígido ou flexível é definido para o recurso fornecido. Um limite rígido não pode ser aumentado
por um usuário não root, uma vez definido; um limite flexível pode ser aumentado até o valor de
o limite rígido. Se nenhum dos dois -H nem -S for especificado, tanto os limites flexíveis quanto rígidos
estão prontos. O valor de limitar pode ser um número na unidade especificada para o recurso
ou um dos valores especiais difícil, macioou ilimitado, que representam o atual
limite rígido, o limite flexível atual e sem limite, respectivamente. Se limitar is
omitido, o valor atual do limite flexível do recurso é impresso, a menos que o
-H opção é dada. Quando mais de um recurso é especificado, o nome do limite e
unidade são impressas antes do valor. Outras opções são interpretadas da seguinte forma:
-a Todos os limites atuais são relatados
-b O tamanho máximo do buffer de soquete
-c O tamanho máximo dos arquivos principais criados
-d O tamanho máximo do segmento de dados de um processo
-e A prioridade máxima de agendamento ("nice")
-f O tamanho máximo dos arquivos gravados pelo shell e seus filhos
-i O número máximo de sinais pendentes
-l O tamanho máximo que pode ser bloqueado na memória
-m O tamanho máximo do conjunto residente (muitos sistemas não respeitam esse limite)
-n O número máximo de descritores de arquivos abertos (a maioria dos sistemas não permite isso
valor a definir)
-p O tamanho do tubo em blocos de 512 bytes (isso pode não ser definido)
-q O número máximo de bytes nas filas de mensagens POSIX
-r A prioridade máxima de agendamento em tempo real
-s O tamanho máximo da pilha
-t A quantidade máxima de tempo de CPU em segundos
-u O número máximo de processos disponíveis para um único usuário
-v A quantidade máxima de memória virtual disponível para o shell e, em alguns
sistemas, aos seus filhos
-x O número máximo de bloqueios de arquivo
-T O número máximo de threads

If limitar é dado, e o -a opção não é usada, limitar é o novo valor do
recurso especificado. Se nenhuma opção for dada, então -f é assumido. Os valores estão em
incrementos de 1024 bytes, exceto para -t, que está em segundos; -p, que está em unidades de
blocos de 512 bytes; e -T, -b, -n e -u, que são valores sem escala. O retorno
status é 0, a menos que uma opção ou argumento inválido seja fornecido ou ocorra um erro
ao definir um novo limite.

umask [-p] [-S] [modo]
A máscara de criação de arquivo do usuário é definida como modo. Se modo começa com um dígito, é
interpretado como um número octal; caso contrário, é interpretado como uma máscara de modo simbólico
semelhante ao aceito por chmod(1). Se modo for omitido, o valor atual do
máscara é impressa. O -S opção faz com que a máscara seja impressa de forma simbólica; a
a saída padrão é um número octal. Se o -p opção é fornecida, e modo is
omitido, a saída está em um formato que pode ser reutilizado como entrada. O estado de retorno é
0 se o modo foi alterado com sucesso ou se não modo argumento foi fornecido, e
falso caso contrário.

Unalias [-a] [nome ...]
Remova cada nome da lista de aliases definidos. Se -a é fornecido, todos alias
definições são removidas. O valor de retorno é verdadeiro, a menos que um nome não é um
apelido definido.

não definido [-fv] [-n] [nome ...]
Para cada nome, remova a variável ou função correspondente. Se o -v opção
dado, cada nome refere-se a uma variável de shell e essa variável é removida. Leitura-
apenas as variáveis ​​não podem ser desativadas. Se -f é especificado, cada nome refere-se a uma concha
função e a definição da função é removida. Se o -n opção é fornecida,
e nome é uma variável com nomeref atributo, nome será desconfigurado em vez de
a variável referenciada. -n não tem efeito se o -f opção é fornecida. Se não
opções são fornecidas, cada nome refere-se a uma variável; se não houver variável por
esse nome, qualquer função com esse nome não está definida. Cada variável ou função não definida
é removido do ambiente passado para comandos subsequentes. Se algum dos
COMP_WORDBREAKS, RANDOM, SEGUNDOS, LINHO, HISTCMD, FUNCNAME, GRUPOSou DIRSTACK
estiverem desabilitados, eles perderão suas propriedades especiais, mesmo se forem reiniciados posteriormente.
O status de saída é verdadeiro, a menos que um nome é somente leitura.

esperar [-n] [n ...]
Aguarde cada processo filho especificado e retorne seu status de encerramento. Cada n
pode ser um ID de processo ou uma especificação de trabalho; se uma especificação de trabalho for fornecida, todos os processos
no pipeline desse trabalho são esperados. Se n não é dado, todos atualmente ativos
processos filhos são aguardados e o status de retorno é zero. Se o -n opção
fornecido, esperar aguarda o término de qualquer tarefa e retorna seu status de saída. Se n
especifica um processo ou trabalho inexistente, o status de retorno é 127. Caso contrário, o
status de retorno é o status de saída do último processo ou trabalho esperado.

RESTRITO SHELL


If bater é iniciado com o nome rbash, Ou o -r opção é fornecida na invocação, o
shell torna-se restrito. Um shell restrito é usado para configurar um ambiente mais
controlado do que o shell padrão. Ele se comporta de forma idêntica a bater com a exceção
que o seguinte não é permitido ou não é executado:

· Alterar diretórios com cd

· Definir ou desconfigurar os valores de SHELL, PATH, ENVou BASH_ENV

· Especificar nomes de comandos contendo /

· Especificando um nome de arquivo contendo um / como um argumento para o . comando embutido

· Especificando um nome de arquivo contendo uma barra como um argumento para o -p opção para
hash comando embutido

· Importação de definições de função do ambiente shell na inicialização

· Analisar o valor de CONCHAS do ambiente shell na inicialização

· Redirecionando a saída usando os operadores de redirecionamento>,> |, <>,> &, &> e >>

· Usando o exec comando embutido para substituir o shell por outro comando

· Adicionar ou excluir comandos embutidos com o -f e -d opções para o permitir
comando embutido

· Usando o permitir comando embutido para habilitar embutidos de shell desabilitados

· Especificando o -p opção para comando comando embutido

· Desligar o modo restrito com conjunto +r or conjunto +o restringido.

Essas restrições são aplicadas depois que todos os arquivos de inicialização são lidos.

Quando um comando que é considerado um script de shell é executado (veja COMANDO EXECUÇÃO
acima de), rbash desativa quaisquer restrições no shell geradas para executar o script.

Use o bash-static online usando os serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    XISMuS
    XISMuS
    ATENÇÃO: A atualização cumulativa 2.4.3 tem
    foi lançado !! A atualização funciona para qualquer
    versão 2.xx anterior. Se estiver atualizando
    da versão v1.xx, faça o download e
    i ...
    Baixar XISMuS
  • 2
    facetracknoir
    facetracknoir
    Programa de headtracking modular que
    suporta vários rastreadores de rosto, filtros
    e protocolos de jogo. Entre os rastreadores
    são o SM FaceAPI, AIC Inertial Head
    Rastreador ...
    Baixar facetracknoir
  • 3
    Código QR PHP
    Código QR PHP
    PHP QR Code é de código aberto (LGPL)
    biblioteca para gerar QR Code,
    Código de barras bidimensional. Baseado em
    Biblioteca C libqrencode, fornece API para
    criando código QR barc ...
    Baixe o código QR do PHP
  • 4
    freeciv
    freeciv
    Freeciv é um jogo gratuito baseado em turnos
    jogo de estratégia multijogador, em que cada
    jogador se torna o líder de um
    civilização, lutando para obter o
    objetivo final: ser ...
    Baixar Freeciv
  • 5
    Cuco Sandbox
    Cuco Sandbox
    Cuckoo Sandbox usa componentes para
    monitorar o comportamento do malware em um
    Ambiente sandbox; isolado do
    restante do sistema. Oferece automação
    análise o ...
    Baixar Cuckoo Sandbox
  • 6
    LMS-YouTube
    LMS-YouTube
    Reproduzir vídeo do YouTube em LMS (portagem de
    Triode's to YouTbe API v3) Este é
    um aplicativo que também pode ser obtido
    da
    https://sourceforge.net/projects/lms-y...
    Baixar LMS-YouTube
  • Mais "

Comandos Linux

Ad