fbpx

Comandos Linux – Comando set

Linux set do Linux

comando set

Em sistemas operacionais do tipo Unix, o comando set é uma função interna do shell Bourne ( sh ), shell C ( csh ) e shell Korn ( ksh ), que é usado para definir e determinar os valores do ambiente do sistema .

Sintaxe

Casca Bourne (sh):

definir [--aefhkntuvx [ argumento ]] ...

C shell (csh):

definir [ var [= valor ]]
definir var [ n ] = palavra

Casca de Korn (ksh):

defina [+ -aefhkmnopstuvx] [+ -o opção ] ... [+ -A nome ] [ arg ...]

Opções: Bourne Shell (sh)

Em sh , o comando embutido set possui as seguintes opções:

Uma opção de traço duplo (”  “) significa o fim de uma lista de opções. Esta opção é útil principalmente quando os valores listados após as opções começarem com um traço.
-umaMarque variáveis ​​modificadas ou criadas para “exportação”; variáveis ​​de ambiente definidas dessa maneira serão transmitidas para os ambientes de quaisquer comandos subseqüentes.
-eSaia imediatamente se um comando sair com um status de saída diferente de zero.
-fDesativar geração de nome de arquivo ( globbing ).
-hLocalize e lembre-se dos comandos da função conforme as funções são definidas (os comandos da função normalmente estão localizados quando a função é executada).
-kTodos os argumentos de palavras-chave são colocados no ambiente para um comando, não apenas aqueles que precedem o nome do comando.
-nLeia comandos, mas não os execute.
-tSaia após ler e executar um comando.
-vocêTrate variáveis ​​não definidas como um erro ao substituir.
-vImprima as linhas de entrada do shell à medida que forem lidas.
-xImprima comandos e seus argumentos à medida que são executados.

Usar + em vez de  faz com que esses sinalizadores sejam desativados. Esses sinalizadores também podem ser usados ​​na chamada do próprio shell. O conjunto atual de sinalizadores pode ser encontrado na variável $ – . Os argumentos restantes são parâmetros posicionais e são atribuídos, em ordem, a $ 1 , $ 2 , etc. Se nenhum argumento for fornecido, os valores de todos os nomes serão impressos.

Para cada nome, o comando unset remove o valor da variável ou função correspondente. As variáveis ​​especiais PATH , PS1 , PS2 , MAILCHECK e IF não podem ser desabilitadas.

Com o comando interno de exportação , os nomes fornecidos são marcados para exportação automática para o ambiente de comandos executados posteriormente. Se nenhum argumento for fornecido, os nomes de variáveis ​​que foram marcados para exportação durante a execução do shell atual serão listados. Os nomes das funções não são exportados.

Opções: Shell C (csh)

No csh , se nenhum argumento for especificado, set exibirá os valores de todas as variáveis ​​do shell. Os valores de várias palavras são exibidos como uma lista entre parênteses. Somente com o argumento var , set atribui um valor vazio ( nulo ) à variável var . Com argumentos no formato var value , set atribui valor a var , em que value é um dos seguintes:

palavraUma única palavra (ou string entre aspas ).
(lista de palavras )Uma lista de palavras separadas por espaço entre parênteses.

Os valores são comando e nome do arquivo expandidos antes de serem atribuídos. A forma de conjunto var ] = palavra substitui o n ‘th palavra num multiword valor com palavra .

unset remove variáveis cujos nomes jogo (usando nome do arquivo de substituição) padrão. Todas as variáveis são removidos por ” * unset “; essa é uma péssima idéia, se você não sabe o que está fazendo.

Opções: K Shell (ksh)

No ksh , o comando set usa as seguintes opções:

-UMAAtribuição de matriz . Desative o nome da variável e atribua valores sequencialmente a partir da lista arg. Se + A for usado, o nome da variável não será desabilitado primeiro.
-umaTodas as variáveis ​​subsequentes definidas são exportadas automaticamente.
-eSe um comando tiver um status de saída diferente de zero, execute a interceptação de ERR (se configurada) e saia. Este modo é desativado durante a leitura de perfis.
-fDesativa a geração de nome de arquivo (globbing).
-hCada comando se torna um alias rastreado quando encontrado pela primeira vez.
-kTodos os argumentos de atribuição de variáveis ​​são colocados no ambiente para um comando, não apenas aqueles que precedem o nome do comando.
-mOs trabalhos em segundo plano serão executados em um grupo de processos separado e uma linha será impressa após a conclusão. O status de saída dos trabalhos em segundo plano é relatado em uma mensagem de conclusão. Em sistemas com controle de trabalho, esse sinalizador é ativado automaticamente para shells interativos.
-nLeia os comandos e verifique se há erros de sintaxe, mas não os execute. Ignorado para shells interativos.
-o opçãoO argumento da opção pode ser um dos seguintes:

allexportO mesmo que -a .
errexitO mesmo que -e .
bgniceTodos os trabalhos em segundo plano são executados com uma prioridade mais baixa, que é o modo padrão.
emacsColoca você em um editor em linha no estilo emacs para entrada de comando.
emacsColoca você em um editor em linha estilo gmacs para entrada de comando.
ignoreeofO shell não será encerrado no final do arquivo . A saída do comando deve ser usada.
palavra chaveO mesmo que -k .
markdirsTodos os nomes de diretório resultantes da geração do nome do arquivo têm um ” / ” à direita anexado.
monitorO mesmo que -m .
noclobberImpede o redirecionamento ” > ” de truncar arquivos existentes. Exija que ” > | ” trunque um arquivo quando ativado.
noexecO mesmo que -n .
noglobO mesmo que -f .
nologNão salve as definições de função no arquivo de histórico.
nounsetO mesmo que -u .
privilegiadoO mesmo que -p .
verbosoO mesmo que -v .
trackallO mesmo que -h .
viColoca você no modo de inserção de um editor em linha do estilo vi até pressionar escape . Este argumento de opção coloca você no modo de controle. Um retorno envia a linha.
virawCada caractere é processado à medida que é digitado no modo vi .
xtraceO mesmo que -x .

Se nenhum nome de opção for fornecido, as configurações de opção atuais serão impressas.

-pDesativa o processamento do arquivo $ HOME / .profile e usa o arquivo / etc / suid_profile em vez do arquivo ENV . Este modo está ativado sempre que o uid efetivo (ID do usuário) não for igual ao uid real ou quando o gid efetivo (ID do grupo) não for igual ao gid real. Desativar isso faz com que o uid e o gid efetivos sejam definidos como o uid e o gid reais.
-sClassifique os parâmetros posicionais lexicograficamente.
-tSaia após ler e executar um comando.
-vocêTrate parâmetros não definidos como um erro ao substituir.
-vImprima as linhas de entrada do shell à medida que forem lidas.
-xImprima comandos e seus argumentos à medida que são executados.
Desativa os sinalizadores -x e -v e para de examinar argumentos para sinalizadores.
Não altere nenhuma das bandeiras; útil na definição de $ 1 para um valor que começa com  . Se nenhum argumento seguir esse sinalizador, os parâmetros posicionais serão desativados.

Usar + em vez de  faz com que esses sinalizadores sejam desativados. Esses sinalizadores também podem ser usados ​​na chamada do shell. O conjunto atual de sinalizadores pode ser encontrado em $ – . A menos que -A seja especificado, os argumentos restantes são parâmetros posicionais e são atribuídos, em ordem, a ” $ 1 $ 2 …”. Se nenhum argumento for fornecido, os nomes e valores de todas as variáveis ​​serão impressos na saída padrão.

As variáveis ​​fornecidas pela lista de nomes são automaticamente não atribuídas: seus valores e atributos são apagados. As variáveis somente leitura não podem ser desabilitadas . Se o sinalizador -f estiver definido, os nomes se referirão aos nomes das funções. A desactivação ERRNO , NUM_LINHA , MAILCHECK , OPTARG , OPTIND , RANDOM , SEGUNDOS , TMOUT , e _ remove seu significado especial, mesmo que sejam posteriormente atribuído.

Ao usar a configuração não definida , as variáveis ​​fornecidas pela lista de nomes são igualmente não atribuídas: seus valores e atributos são apagados. As variáveis ​​somente leitura não podem ser desabilitadas . Se o sinalizador -f , estiver definido, os nomes se referirão aos nomes das funções. A desactivação ERRNO , NUM_LINHA , MAILCHECK , OPTARG , OPTIND , RANDOM , SEGUNDOS , TMOUT , e _ remove seu significado especial, mesmo que sejam posteriormente atribuído.

Com o comando interno de exportação , os nomes fornecidos são marcados para exportação automática para o ambiente de comandos executados posteriormente. Os comandos ksh precedidos por um ou dois caracteres ” * ” (asteriscos) são tratados especialmente das seguintes maneiras:

  • As listas de atribuição de variáveis ​​que precedem o comando permanecem em vigor quando o comando é concluído.
  • Os redirecionamentos de E / S são processados ​​após atribuições de variáveis.
  • Erros fazem com que um script que os contenha seja interrompido.
  • As palavras, após um comando precedido por ** que estão no formato de uma atribuição de variável, são expandidas com as mesmas regras que uma atribuição de variável. Essa atribuição significa que a substituição do til é realizada após a divisão do sinal = e da palavra e geração do nome do arquivo.

Exemplos

defina PATH = "/ bin: / usr / bin: / usr / sbin: usr / local / bin"

No csh , esse comando define a variável de ambiente PATH , de modo que o shell procure por arquivos nos diretórios / bin , / usr / bin , / usr / sbin e / usr / local / bin , nessa ordem.

csh – O interpretador de comandos do shell C.
ksh – O interpretador de comandos do shell Korn.
setenv – Defina o valor de uma variável de ambiente.
sh – O interpretador de comandos do Bourne shell.

21 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.