sábado, 26 de dezembro de 2015

Variáveis shell bash





Variáveis

O estudo das variáveis e indispensável para quem esta pensando em programar em shell script ou administrar sistemas Linux, e muito aconselhável um estudo mais detalhado e aprofundado até pegar uma boa noção e domínio.

As variáveis são campos com endereço que mantêm um valor. O shell permite criar, atribuir e apagar variáveis. Embora o shell gere algumas variáveis, é sobretudo da responsabilidade do programador para gerir variáveis em scripts shell.
Este capítulo mostra-lhe como

Criar variáveis
Excluir variáveis

Este capítulo também explica o que as variáveis de ambiente são e como usá-las corretamente.

Se você já programa em alguma linguagem vai achar a declaração de variaveis do shell bem peculiar, pra começar ao contrário de outras linguagem,m no shell não se declara o tipo de variável com int var char double, não existe declaração de tipo, o sheel reconhece o tipo de dados pela entrada que é passado, assim 23 e numero, ed e string, não ha diferença de tratamento.
Vamos fixar alguns conceitos .

As variáveis são definidas como se segue:
Não podem haver espaços ao redor do igual "="
name = valor
Neste exemplo, o name é o nome da variável, e o valor é o valor que deve realizar. Por exemplo,
FRUTA=”jaca”

define a variável FRUTA  e atribui a ela o valor = jaca.

Esse tipo de variáveis são as escalares, e pode conter apenas um valor de cada vez.

O nome de uma variável pode conter apenas letras (A a Z ou A a Z), números (0 a 9) ou o sublinhado ( _). Além disso, o nome de uma variável só pode começar com uma letra ou um sublinhado.

Outros caracteres não podem ser usados porque podem ter algum significado para o shell.

A seguir alguns nomes de variáveis válidos:

_natal
resto da cesta
fe_amor
somente_isso

Agora veja:
10_Pele → não é válido. Para tanto , adicione um sublinhado no início de seu nome:
_10_Pele → agora sim tá valendo.

Os nomes de variáveis, tais como 4, 5 ou 15, que começam com números são reservados para uso pelo shell. Você pode usar o valor armazenado nestas variáveis, mas você não pode definir o valor a si mesmo.

Se você tentar nomear uma variável com um caracteres especial.
Por exemplo,:

_44 * ??

RHUST_TO_10!

Esses são nomes inválidos. E vai dar “PAU”

edson@edson-MCP61M-M3:~$ _44 * ??="222"
Comando '_44' não encontrado, você quis dizer:
Comando 'c44' do pacote 'djvulibre-bin' (universe)
_44: comando não encontrado
edson@edson-MCP61M-M3:~$


Valores de Variáveis

O shell permite que você armazene qualquer valor em uma variável. Por exemplo,
FRUTAS=manga
FRUTAS=5amoras
FRUTAS=goiaba+araça

E preciso ficar a tento as valores com espaços. Por exemplo,
$ SALADA = tomate branco e Alface

pode dar a seguinte mensagem de erro:
edson@edson-MCP61M-M3:~$ SALADA = tomate branco e Alface

SALADA: comando não encontrado
edson@edson-MCP61M-M3:~$
.
Para contornar o problema caso seja necessário.
Os seguintes procedimentos são válidos.
Atribuições:

$ Fruta = "laranja pera jaca"
$ FRUTA = 'caju coco uva'


Acessando Valores
Para acessar o valor armazenado em uma variável, e necessário usar o prefixo $ junto ao nome.
Por exemplo, o comando

$ Echo $pedras
Safira

imprime o valor armazenado na variável, FRUTA, neste caso Safira .

Se você não usar o cifrão ($) para acessar o valor de uma variável, o nome da variável é impresso em vez do seu valor. Por exemplo,
Echo $ espiga
espiga
simplesmente imprime espiga, e não o valor da variável.

O cifrão ($) é usado somente para acessar o valor de uma variável, não para defini-lo.
Por exemplo, a atribuição
$ Fruta = $maçã

Outros Exemplos
$ MEU=”Te amar assim dessa maneira me deixa louco”
Te amar assim dessa maneira me deixa louco

$ echo “ A varial MEU e uma string de ${#MEU} letras”
A varial MEU e uma string de 42 letras

$ echo ${MEU//louco/LOUCO}
edson@edson-MCP61M-M3:~$ echo ${MEU//louco/LOUCO}
Te amar assim dessa maneira me deixa LOUCO
edson@edson-MCP61M-M3:~$


$ echo ${MEU:2:5}

edson@edson-MCP61M-M3:~$ echo ${MEU:2:5}
amar
edson@edson-MCP61M-M3:~$


Matrizes é um método de agrupamento de um conjunto de variáveis. Em vez de criar um novo nome para cada variável , você pode usar uma única variável matriz que armazena todas as outras variáveis.

O método mais simples de criar uma variável de matriz é atribuir um valor a um dos seus índices. Isto é expresso do seguinte modo:
nome [índice] = valor
Aqui o nome da matriz, recebe um índice que a diferencia das demais variáveis da matriz.
Para atribuir valares a cada elemento da matriz como um exemplo,
os seguintes comandos:

$ Fruta [0] = maçã
$ Fruta [1] = a banana
$ Fruta [2] = laranja

defini valores dos primeiros três itens na matriz chamada FRUTA.

no exemplo anterior, foi definido índices de matriz em sequência, mas isso não é obrigatório. Por exemplo, se você atribuir somente a um indicie:
$ Fruta [10] = ameixa
o valor do item no índice 10 é definido como ameixa.
Note que o shell não cria um monte de itens de matriz para preencher o espaço entre o índice de 0 e índice de 10. Em vez disso, mantém o controle apenas dos índices que contêm valores.

Se uma variável de matriz com o mesmo nome de uma variável escalar é definida, o valor da variável escalar torna-se o valor do elemento da matriz no índice 0.
Por exemplo, se os comandos seguintes são executados
$ Fruta = maçã
$ Fruta [1] = pêssego

a FRUTA no seu primeiro elemento [0] tem o valor de maçã.

A segunda forma de inicialização de matriz é usado para definir vários elementos ao mesmo tempo.

Em bash, os múltiplos elementos são definidos da seguinte forma:
name = (value1 ... valorN)

Aqui, o nome da matriz e os valores de 1 a n, são os valores dos itens a serem definidos.
Definindo vários elementos ao mesmo tempo,

$ Time = (Jerri Gustavo Ferrugem Maycon)
é equivalente aos seguintes comandos:
$ Time[0]=Jerry
$ Time[1]=Gustavo
$ Time[2]=Ferugem
$ Time[3]=Maicon



Os índices de matriz não precisam estar ordenados nem ser números inteiros.

Acessando Valores de matriz
Depois de definir a variável da matriz, você acessa da seguinte forma:

$ {name [index]}
Por exemplo, se a matriz Time foi inicializado como dado anteriormente, o comando
$ Echo $ {Time[2]}
produz o seguinte resultado: Gustavo
Você pode acessar todos os itens em uma matriz em uma das seguintes maneiras:
$ {name [*]}
$ {name [@]}

Dada a matriz Time como dado anteriormente, o comando
$ Echo $ {Time[*]}
edson@edson-MCP61M-M3:~$ echo ${Time[*]}
Jerry Gustavo Ferrugem Maycon



Variáveis somente de leitura
O shell fornece uma maneira de marcar variáveis como somente leitura usando o comando readonly.
Depois de uma variável ser marcado como readonly, o seu valor não pode ser alterado.
Considere os seguintes comandos:
$ Time=Edson
$ Time readonly
$ Echo $ Time
Edson
$ Time=Canhoteiro
O último comando resulta em uma mensagem de erro:
/ bin / sh: Time: Esta variável é somente leitura.

Como você pode ver, o comando echo pode ler o valor da variável Time, mas o shell não permitiu Substituir o valor armazenado na variáveL Time .

Este recurso é frequentemente usado em scripts para se certificar de que as variáveis críticas não são substituídos acidentalmente.
O comando readonly pode ser usado para marcar tanto variáveis de matriz e escalar..

Apagando variáveis:

unset variável diz ao shell para remover a variável na lista de variáveis ​​que ele controla.
Isso é como ordenar ao shell para esquecer o dado, pois não é mais necessário.
Ambas as variáveis ​​escalares e de matriz são unset usando o comando unset:
unset nome

Aqui nome é o nome da variável a ser apagado.
Por exemplo,
unset ursa --> apaga a variável. a ursa

Você não pode usar o comando unset para variáveis que são marcadas somente leitura.


Variáveis Ambientais
Quando um shell está em execução, três tipos principais de variáveis estão presentes:

Variáveis locais
Variáveis ambientais/globais
Variáveis de Shell

Uma variável local é uma variável que está presente dentro da instância atual do shell. Não é disponível para programas que são iniciados pelo shell. As variáveis vistas anteriormente foram todas variáveis locais.
Uma variável de ambiente/global é uma variável que está disponível para qualquer processo filho do shell. Alguns programas precisam de variáveis de ambiente, a fim de funcionar corretamente. Normalmente, um script shell define somente aquelas variáveis de ambiente que são necessários para ser executado.
Uma variável do shell é uma variável especial que é definido pelo invólucro e é exigido pelo escudo, a fim de funcionar corretamente. Algumas dessas variáveis são variáveis de ambiente, enquanto outros são variáveis locais.
No Linux fica muito fácil trabalhar com essas variáveis, tanto as vaviáveis locais ou globais são muito utilizadas por programadores e administradores de sistemas, Qual é a diferença entre locais e globais, toda variavel definida pelo usuário já nasce local, para que ela se torne uma varivel global e preciso exporta-la, assim ela ficará disponivel para todas as sessões abertas a partir da sessão corrente, como fazer isso:

Exportando Variáveis:

Você coloca variáveis no ambiente por meio da exportação. Com o comando export
portanto, é a forma mais comumente encontrado.
A linguagem shell padrão para a exportação de variável de ambiente é :
name = valor; nome de exportação

Um exemplo disto é

PATH = / sbin: / bin; PATH export

Aqui você define o valor da variável PATH e, em seguida, exportá-lo. Normalmente, a declaração de atribuição de uma variável de ambiente e a declaração de exportação correspondente são escritos em uma única linha , a de se esclarecer que a
variável é uma variável de ambiente. Isto ajuda o programador entender o script rapidamente.
Você também pode usar o comando export para exportar mais de uma variável para o ambiente.
Por exemplo,
export PATH HOME UID
exporta o PATH variáveis, HOME, e UID para o ambiente.

Uma segunda forma é suportado pelo bash:

export name=value

Resumindo:
criando e atribuindovalor:
myvar=”edson”

exportando
export myvar

Acessando:
echo $myvar

edson@edson-MCP61M-M3:~$ myvar="edson"; export myvar ; echo $myvar
edson
edson@edson-MCP61M-M3:~$



Variáveis do Shell
As variáveis que examinados até agora foram variáveis do usuário. Isto é um as que o usuário pode definir e redefinir manualmente.
Você dar uma olhadinha nas variaveis do shell, que são um conjunto de variáveis que o shell utiliza durante a inicialização e uso interno.
Os usuários podem modificar o valor destas variáveis.
Traduzido pelo google, fiz muitas correções, mais ainda carrece de uma revisão:]

PWD o diretório de trabalho atual como definido pelo comando cd.
UID expande para o ID do usuário numérico do usuário atual, iniciado na inicialização do shell.
SHLVL vai de um a cada vez que uma instância do bash é iniciado. Esta variável é útil para
determinar se o comando interno de saída termina a sessão atual.
RESPOSTA Expande para a última linha de entrada de leitura lido pelo comando interno quando é dado nenhum
argumentos. Esta variável não está disponível em sh.
RANDOM Gera um número inteiro aleatório entre 0 e 32.767 cada vez que é referenciado. Você pode inicializar
a sequência de números aleatórios através da atribuição de um valor de US $ RANDOM.
Se $ RANDOM é desactivado, é perde as suas propriedades especiais, mesmo que seja subsequentemente reposto. Esta variável não está disponível em sh.
SEGUNDOS Cada vez que este parâmetro é referenciado, ele retorna o número de segundos desde shell invocação.
Se um valor é atribuído a $ segundos, o valor retornado em referências posteriores é o número
de segundos desde a atribuição mais o valor atribuído. Se $ segundos é desactivado, ele perde sua
propriedades especiais, mesmo que seja posteriormente repostas. Esta variável não está disponível em sh.
IFS Indica o Internal separador de campo que é utilizado pelo analisador de repartição de palavras depois
expansão. $ IFS também é usado para dividir as linhas em palavras com a leitura comando interno. o
valor padrão é a cadeia "\ t \ n", onde "" é o caractere de espaço, \ t é o caractere de tabulação,
e \ n é o caractere de nova linha.
PATH Indica caminho de pesquisa para comandos. É uma lista separada por dois pontos de diretórios em que o shell
olha para os comandos. Um valor comum é
PATH = / bin: / sbin: / usr / bin: / usr / sbin: / usr / local / bin: / usr / ucb
CASA
Indica o diretório home do usuário atual: o argumento padrão para o built-in CD
comando.


Bash usa certas variáveis do shell da mesma forma como o shell Bourne. Em alguns casos, Bash
atribui um valor padrão para a variável.
CDPATH Uma lista separada por dois pontos de diretórios usados como um caminho de pesquisa para o builtin cd comando.
PÁGINA PRINCIPAL diretório home do usuário atual; o padrão para o comando cd embutido. o
valor dessa variável também é usado pela expansão til ~ .
IFS A lista de caracteres que separam os campos; usado quando o shell divide palavras como parte
de expansão.
MAIL Se este parâmetro é definido como um nome de arquivo ou pasta e o MAILPATH
variável não está definida, Bash informa o usuário sobre a chegada de correio no arquivo ou diretório especificado Maildir-formato.
MAILPATH Uma lista separada por dois pontos de nomes de arquivos que o shell verifica periodicamente para nova enviar. Cada entrada da lista pode especificar a mensagem de que é impresso quando uma nova mensagem chega no arquivo de mensagens, separando o nome do arquivo da mensagem com um "?".
Quando usado no texto da mensagem, $ _ expande-se para o nome do actual arquivo de mensagens.

OPTARG O valor do último argumento opção processadas pelos getopts embutidas.

OPTIND O índice do último argumento opção processadas pelos getopts embutido.

PATH A lista separada por dois pontos de diretórios em que o shell procura por comandos. UMA
de comprimento zero (null) nome do diretório no valor de PATH indica a corrente
diretório. Um nome de diretório nulo pode aparecer como dois dois pontos adjacentes, ou como um
cólon inicial ou final.

PS1 A sequência primária de prompt. O valor padrão é '\ s- \ v \ $'. Veja Seção 6.9
[Controlar o Prompt], página 92, para obter a lista completa de seqüências de escape
que são expandidos antes de PS1 é exibida.

PS2 A seqüência de prompt secundário. O valor padrão é ">".
5.2 Variáveis bash
Essas variáveis são definidas ou utilizadas por Bash,

BASHOPTS
Uma lista separada por dois pontos de opções do shell ativado. Cada palavra na lista é um argumento válido para a opção -s para o comando shopt builtin
As opções que aparecem nas BASHOPTS são aquelas relatado como 'on' por 'shopt'. Se esta variável está no ambiente quando Bash arranca, cada opção shell na lista será ativado antes de ler qualquer startup.esta variável é somente de leitura.

BASHPID
Expande para a identificação do processo atual do Bash. Isso é diferente de $$
sob certas circunstâncias, tais como subcamadas que não necessitam reinicializar o Bash.

BASH_ALIASES
Uma variável de matriz associativa cujos membros correspondem à lista interna
de aliases como sustenta a builtin alias.
Elementos adicionados a essa matriz aparece na lista de alias;

BASH_ARGC
Uma variável de matriz cujos valores são o número de parâmetros em cada quadro de
pilha de chamadas execução do bash atual. O número de parâmetros para a corrente
sub-rotina (função ou shell script executado com. ou fonte) está no topo da pilha.
Quando uma sub-rotina é executada, o número de parâmetros passados é empurrado para BASH_ARGC.
O shell define BASH_ARGC apenas quando em modo de depuração prorrogado.

BASH_ARGV
Uma variável de matriz contendo todos os parâmetros na execução da pilha de chamadas do bash atual. O parâmetro final da última sub-rotina é chamada na parte superior daqpilha; o primeiro parâmetro da chamada inicial na parte inferior.
Quando uma sub-rotina é executado, os parâmetros fornecidos são empurrados para BASH_ARGV. O shell define BASH_ARGV somente quando em modo de depuração estendido

BASH_CMDS
Uma variável de matriz associativa cujos membros correspondem com o hash interno
tabela de comandos mantidas pelo builtin de hash

BASH_ENV
Se esta variável é definida quando Bash é invocado para executar um script shell, seu valor é
expandido e usado como o nome de um arquivo de inicialização para ler antes de executar o
script. O argumento de comando para a opção -c invocação.

BASH_LINENO
Uma variável de matriz cujos membros são os números de linha em arquivos de origem
onde cada membro correspondente da funcname foi invocado.

$ {BASH_NUM_LINHA [$ i]} é o número da linha no arquivo de origem
$ {BASH_SOURCE [$ i + 1]}) onde $ {funcname [$ i]} foi chamado (ou $ {BASH_LINENO [$ i-1]} if referenciado dentro de outra função shell). Use NUM_LINHA para obter o número da linha atual.


BASH_SOURCE
Uma variável de matriz cujos membros são os nomes de arquivo de origem onde os nomes cor-
pondente da função shell na variável de matriz funcname são definidos. O shell função $ {funcname [$ i]} é definido no arquivo $ {BASH_SOURCE [$ i]} e
chamado a partir de $ {BASH_SOURCE [$ i + 1]}

BASH_VERSINFO
A variável de matriz somente leitura , cujos membros armazenar informações versão para esta instância do Bash. Os valores atribuídos ao membros da matriz são as seguintes:
BASH_VERSINFO [0]
O número de versão principal (o lançamento).
BASH_VERSINFO [1]
O menor número de versão (a versão).
BASH_VERSINFO [2]
BASH_VERSINFO [3]
A versão de compilação.
BASH_VERSINFO [4]
O status de liberação (por exemplo, beta 1).
BASH_VERSINFO [5]
O valor de MACHTYPE.
BASH_VERSION
O número da versão da instância atual do Bash.

BASH_XTRACEFD
Se definido como um número inteiro correspondente a um descritor de arquivo válido, Bash irá escrever o saída de rastreio gerado quando 'set -x' está habilitado para esse descritor de arquivo. este
permite o rastreio de saída a ser separado a partir de mensagens de erro e de diagnóstico. o
descritor de arquivo é fechado quando BASH_XTRACEFD não está definido ou atribuído um novo valor.
BASH_XTRACEFD desactivação ou atribuí-la a cadeia vazia faz com que o traço
de saída devem ser enviados para o erro padrão. Note que definir a BASH_XTRACEFD
2 (o descritor de ficheiro erro padrão) e, em seguida desactivação que irá resultar na
erro padrão que está sendo fechado.
CHILD_MAX
Defina o número de valores de status filho saíram para o shell de lembrar. Bash
não permitirá que este valor para ser diminuída abaixo do mínimo estipulado pelo POSIX,
e há um valor máximo (actualmente 8192) que esta não pode ser superior. o
valor mínimo é dependente do sistema.

COLUMNS
Usado pelo comando select para determinar a largura do terminal ao imprimir listas de seleção. Definido automaticamente se a opção checkwinsize está habilitado ou em um shell interativo sobre
recebimento de uma SIGWINCH.

COMP_CWORD
Um índice em $ {} COMP_WORDS da palavra contendo a posição atual do cursor
Esta variável está disponível apenas em funções shell invocadas pelo usuário

COMP_LINE
A linha de comando atual. Esta variável está disponível apenas em funções shell e comandos externos invocados pelas instalações de conclusão programáveis .

COMP_POINT
O índice da posição corrente do cursor em relação ao início da corrente
comando. Se a posição atual do cursor estiver no final do comando atual,
o valor dessa variável é igual a $ {} # COMP_LINE. Esta variável está disponível
apenas em funções shell e comandos externos invocadas pelo programável
instalações de conclusão (ver secção 8.6 [programável Conclusão], página 124) .Capítulo 5: Variáveis ​​de Shell
73
COMP_TYPE
Definido para um valor inteiro correspondente ao tipo de conclusão que tentaram
causou uma função de conclusão para ser chamado: TAB, para a conclusão normal, para '?'
listando conclusões após abas sucessivas, '!', para listar as alternativas em parcial
a conclusão de palavras, '@', para listar conclusões se a palavra não é, não modificado ou "%", para
conclusão de menu. Esta variável está disponível apenas em funções shell e externo
comandos invocadas pelas instalações de conclusão programáveis ​​(veja a Secção 8.6
[Programável Conclusão], página 124).
COMP_KEY
A chave (ou chave final de uma sequência de teclas) usado para chamar a conclusão atual
função.
COMP_WORDBREAKS
O conjunto de caracteres que os deleites da biblioteca Readline como separadores de palavra quando
realizando a conclusão de palavras. Se COMP_WORDBREAKS é definida, ela perde a sua especial
propriedades, mesmo que seja posteriormente repostas.
COMP_WORDS
Uma variável de matriz que consiste em palavras individuais no comando atual
linha. A linha está dividida em palavras como Readline iria dividi-lo, usando COMP_
WORDBREAKS como descrito acima. Esta variável está disponível apenas em função shell
ções invocadas pelas instalações de conclusão programáveis
COMPREPLY
Uma variável de matriz a partir da qual lê Bash as conclusões possíveis gerados
por uma função shell invocado pela instalação conclusão programável. Cada elemento da matriz
contém uma realização possível.
COPROC uma variável de matriz criada para manter os descritores de arquivo para saída de entrada e a um coprocess sem nome
.
DIRSTACK uma variável de matriz contendo o conteúdo atual da pilha de diretórios. Direcção-
tories aparecem na pilha na ordem em que são apresentadas pela dirs embutidas.
Atribuindo a membros desta variável de matriz pode ser utilizado para modificar directórios
já na pilha, mas os pushd e popd builtins deve ser usado para adicionar
e remover diretórios. Atribuição a esta variável não vai mudar o lugar do diretório. Se DIRSTACK é desactivado, ele perde suas propriedades especiais, mesmo que seja posteriormente repostas.

EMACS Se Bash 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 e desativa shell Emacs edição de linha.

ENV Similares à BASH_ENV; usado quando o shell é invocado no modo POSIX .
Euid O ID de usuário numérica do usuário atual. Esta variável é somente leitura.

FCEDIT O editor usado como um padrão pela opção -e para o fc builtin command.

FUNCNEST Se for definido como um valor numérico maior que 0, define um assentamento máximo função
nível. Invocações da função que excedam este nível de aninhamento fará com que o atual
comando para abortar.

HISTCMD
O número história, ou índice na lista do histórico, do comando atual. E se HISTCMD é desactivado, ele perde suas propriedades especiais, mesmo se posteriormente se redefinir.

HISTCONTROL
Uma lista separada por dois pontos de valores que controlam como os comandos são salvos no
lista de histórico. Se a lista de valores inclui 'ignorespace', as linhas que começam com
um carácter de espaço não são salvas na lista de histórico. Um valor de '' ignoredups
faz com que linhas que combinam com a entrada do histórico anterior não sejam salvos. Um valor
de 'ignoreboth' é uma abreviação para 'ignorespace' e 'ignoredups'.
Se HISTCONTROL é desactivado, ou não inclui um valor válido, todas as linhas lidas pelo analisador shell são salvas na lista de histórico, sujeito ao valor de HISTIGNORE. O segundo e subseqüentes linhas de um composto multi-linha comando não são testados, e são adicionados à história independentemente do valor de HISTCONTROL.

HISTFILE
O nome do arquivo para o qual o histórico de comandos é salvo. O valor padrão
é ~ / .bash_history.

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 conter mais
do que esse número de linhas, removendo as entradas mais antigas. O arquivo histórico está
Também truncado para este tamanho após escrevê-lo quando um escudo saídas. Se o valor for
0, o arquivo de histórico é truncado para o tamanho zero. Valores não-numéricos e numéricos
valores menores que zero de inibição de truncamento. O shell define o valor padrão para o
valor de HISTSIZE depois de ler todos os arquivos de inicialização.
HISTIGNORE
Uma lista separada por dois pontos de padrões utilizados para decidir quais linhas de comando deve
ser salvas na lista de histórico. Cada padrão é ancorado no início do
linha e deve coincidir com a linha completa (sem implícito '*' é anexado). Cada
padrão é testada contra a linha, após as verificações especificadas pelo HISTCONTROL
são aplicados. Além do padrão de shell normal caracteres de correspondência, '&'
corresponde à linha anterior do histórico. '&' Pode ser escapou usando uma barra invertida; a
barra invertida é removida antes de tentar uma partida. O segundo e subseqüente
linhas de um comando composto multi-linha não são testados, e são adicionados à
história independentemente do valor de HISTIGNORE.
HISTIGNORE subsume a função de HISTCONTROL. Um padrão de '&' é idêntico
para ignoredups, e um padrão de '[] * "é idêntico ao ignorespace. Combinando
estes dois padrões, separando-os com dois pontos, fornece a funcionalidade de
ignoreboth.
HISTSIZE
O número máximo de comandos para se lembrar na lista de histórico. Se o
valor é 0, os comandos não são salvas na lista de histórico. Os valores numéricos com menos de
de zero resultado em cada comando a ser salvas 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.
HISTTIMEFORMAT
Se essa variável é definida e não nulo, o seu valor é usado como uma seqüência de formato para
strftime para imprimir o carimbo de tempo associado a cada entrada do histórico apresentado
pelo builtin história. Se essa variável é definida, carimbos de tempo são gravados no
arquivo histórico para que eles possam ser preservadas em sessões de shell. Isto usa a história
comentar personagem para distinguir timestamps de outras linhas de história.
Hostfile
Contém o nome de um arquivo no mesmo formato como / etc / hosts que devem ser lido quando o shell precisa completar um nome de host. A lista de possíveis hostname completa pode ser alterado enquanto o shell está em execução; da próxima vez hostnameChapter conclusão é tentada após o valor é alterado, Bash adiciona o conteúdo do o novo arquivo à lista existente. Se hostfile é conjunto, mas não tem nenhum valor, ou faz não nomear um arquivo legível, Bash tenta ler / etc / hosts para obter a lista de conclusões possíveis hostname. Quando hostfile é desactivado, a lista hostname está desmarcada.

HOSTNAME O nome do host atual.
edson@edson-MCP61M-M3:~$ echo $HOSTNAME
edson-MCP61M-M3

HOSTTYPE Uma seqüência de caracteres descrevendo o Bash máquina está sendo executado.
IGNOREEOF
Controla a ação da casca, após recepção de um caractere EOF como a única entrada. Se estiver definido, o valor indica o número de caracteres EOF consecutivos que podem ser leia como o primeiro caractere em uma linha de entrada antes do shell vai sair. Se o variável existe, mas não tem um valor numérico (ou não tem nenhum valor), então o padrão é 10. Se a variável não existir, em seguida, EOF significa o fim da entrada para o shell. Isto só tem efeito para os reservatórios interativos.
INPUTRC O nome do arquivo de inicialização Readline, substituindo o padrão de
~ / .inputrc.
LANG Usado para determinar a categoria de localidade para qualquer categoria não especificamente selecionados
com um ponto de partida variável com LC_.
LC_ALL Esta variável substitui o valor de LANG e qualquer outra variável especificando LC_
uma categoria localidade.
LC_COLLATE
Esta variável determina a ordem de intercalação usada para ordenar os resultados de
expansão filename, e determina o comportamento de expressões alcance, equiva-
aulas preva-, e sequências de agrupamento dentro expansão filename e padrão
correspondente (veja a Seção 3.5.8 [Matrícula Expansão], página 30).
LC_CTYPE
Esta variável determina a interpretação de personagens e do comportamento
de classes de personagens dentro expansão filename e casamento de padrões (veja
Seção 3.5.8 [Matrícula Expansão], página 30).
LC_MESSAGES
Esta variável determina o idioma usado para traduzir strings delimitadas por aspas pré-
cedido por um '$' (veja Seção 3.1.2.5 [Tradução Locale], página 7).
LC_NUMERIC
Esta variável determina a categoria de localização utilizada para formatação número.
NUM_LINHA O número da linha no script shell ou função atualmente em execução.
Linhas usadas pelo comando select para determinar o comprimento da coluna para impressão
listas de seleção. Definido automaticamente se a opção checkwinsize está habilitado (ver
Seção 4.3.2 [O shopt Builtin], página 62), ou em um shell interativo sobre
recebimento de uma SIGWINCH.
MACHTYPE Uma seqüência de caracteres que descreve totalmente o tipo de sistema no qual Bash está executando, na padrão gnu-empresa-sistema cpu format

MAILCHECK
Quantas vezes (em segundos) que a casca deve verificar por e-mail nos arquivos especificados
nas variáveis ​​MAILPATH ou correio. O padrão é 60 segundos. Quando é tempo
para verificar se há mail, a casca faz isso antes de exibir o prompt primário. E se
esta variável está em branco, ou definido para um valor que não é um número maior ou
igual a zero, o shell desabilita a verificação mail.

Mapfile uma variável de matriz criado para manter o texto lido pelo builtin mapfile quando
nenhum nome de variável é fornecido.

OLDPWD O diretório de trabalho anterior como definido pelo builtin cd.
OPTERR Se definido como o valor 1, Bash exibe mensagens de erro geradas pelos getopts
comando builtin.
OSTYPE Uma seqüência de caracteres que descreve o sistema operacional está sendo executado em Bash.
PIPESTATUS
Uma variável de matriz (ver Seção 6.7 [matrizes], página 89) contendo uma lista de saída esta-
valores tus dos processos no pipeline primeiro plano mais recentemente executado
(que pode conter apenas um único comando).
POSIXLY_CORRECT
Se esta variável está no ambiente quando começa Bash, o shell entra posix modo (ver Seção 6.11 [Mode POSIX Bash], página 94) antes de ler a inicialização ficheiros, como se a opção de chamada --posix tinha sido fornecido. Se ele estiver definido, enquanto o shell está em execução, Bash habilita o modo POSIX, como se o comando definir -o posix tinha sido executado.
PPID
A identificação do processo do processo pai do shell. Esta variável é somente leitura.
PROMPT_COMMAND
Se definido, o valor é interpretado como um comando para executar antes da impressão de
cada prompt primário ($ PS1).
PROMPT_DIRTRIM
Se for definido como um número maior do que zero, o valor é usado como a quantidade de fuga
componentes do diretório para reter ao expandir a cadeia de linha W w e \ \
escapes (veja Seção 6.9 [Controlar o Prompt], página 92). Personagens removido
são substituídas por reticências.
PS3 O valor desta variável é usado como a solicitação para o comando select. E se
esta variável não está definida, o comando select solicita com '#? '
PS4 O valor é o prompt impressa antes da linha de comando é ecoado quando o -x
opção é definida (ver Secção 4.3.1 [O Conjunto Builtin], página 58). O primeiro caractere
de PS4 são replicados várias vezes, se necessário, para indicar vários níveis de
indirecta. O padrão é '+'.
PWD O atual diretório de trabalho conforme definido pelo builtin cd.

RANDOM
Cada vez que este parâmetro é referenciado, um número inteiro aleatório entre 0 e 32767 é gerado. Atribuindo um valor para esta variável a sementes de números aleatórios geerator
edson@edson-MCP61M-M3:~$ echo $RANDOM
4308
edson@edson-MCP61M-M3:~$
READLINE_LINE

O conteúdo do buffer de linha Readline,
.
READLINE_POINT
A posição do ponto de inserção no buffer de linha Readline,
RESPOSTA A variável padrão para a leitura embutido.
SEGUNDOS Esta variável expande-se para o número de segundos uma vez que o escudo foi iniciado.
Atribuição a esta variável redefine a contagem para o valor atribuído, ea
valor expandida se torna o valor atribuído mais o número de segundos desde
a atribuição.
SHELL
O nome do caminho completo para o shell é mantido em esta variável de ambiente. Se não estiver
definido quando o shell é iniciado, Bash atribui a ele o caminho completo do atual
shell de login do usuário.
edson@edson-MCP61M-M3:~$ echo $SHELL
/bin/bash

SHELLOPTS
Uma lista separada por dois pontos de opções do shell ativado. Cada palavra na lista é um válido
argumento para a opção -o para o comando set embutido (veja a Secção 4.3.1 [O
Definir Builtin], página 58). As opções que aparecem nas SHELLOPTS são os relatados
como 'on' por 'set -o'. Se esta variável está no ambiente Bash quando se inicia,
cada opção de shell na lista será ativado antes de ler todos os arquivos de inicialização.
Esta variável é somente leitura.
SHLVL
Incrementado por um cada vez que uma nova instância do Bash é iniciado. Este destina-
para ser uma contagem de quão profundamente suas conchas Bash são aninhados.
TIMEFORMAT
O valor deste parâmetro é utilizado como uma seqüência de formato, especificando a forma como o deira
ing informações para as condutas prefixadas com a palavra reservada tempo deve ser
exibida. O caráter '%' introduz uma sequência de escape que é expandida para
um valor de tempo ou outras informações. As sequências de escape e seus significados
são como segue; as chaves denotar porções opcionais.
%% A '%' literal.
% [p] [l] R O tempo decorrido em segundos.
% [p] [l] U O número de segundos de CPU gasto no modo usuário.
% [p] [l] S O número de segundos de CPU gasto no modo de sistema.
% P A porcentagem CPU, calculado como (% U +% S) / R%.
O opcional p é um dígito especifica a precisão, o número de dígitos fracionários
depois de um ponto decimal. Um valor de 0 faz com que nenhum ponto decimal ou fração de ser
saída. No máximo três casas depois da vírgula pode ser especificado; valores
de p maior do que 3 são alterados para 3. Se P não é especificado, o valor de 3 é utilizado.
O l opcional especifica um formato mais longo, incluindo minutos, de forma
MM mSS.FFs. O valor de p determina se ou não a fracção é
incluído.
Se esta variável não está definida, Bash age como se tivesse o valueChapter
$ '\ Nreal \ t% 3LR \ Nuser \ t% 3LU \ nsys \ t% 3LS'
Se o valor for nulo, nenhuma informação de tempo é exibido. Uma nova linha de fuga é
adicionada quando a seqüência de formato é exibido.
TMOUT Se for definido como um valor maior que zero, TMOUT é tratada como o tempo limite padrão para leitura
Se definido TMPDIR, Bash usa seu valor como o nome de um diretório em que cria arquivos temporários para o uso do shell.
UID numérico ID de usuário real do usuário atual. Esta variável é somente leitura.
edson@edson-MCP61M-M3:~$ echo $UID
1000
edson@edson-MCP61M-M3:~$

Página Anterior