Comando de conjunto de bash

Comando de conjunto de bash

Bash tem muitas variáveis ​​ambientais para vários fins. O definir O comando do bash é usado para modificar ou exibir os diferentes atributos e parâmetros do ambiente do shell. Este comando tem muitas opções para executar os diferentes tipos de tarefas. Os usos de definir O comando para vários propósitos é descrito neste tutorial.

Sintaxe

Definir [Opções] [Argumentos]

Este comando pode ser usado com diferentes tipos de opções e argumentos para diferentes fins. Se nenhuma opção ou argumento for usado com este comando, as variáveis ​​do shell serão impressas. O sinal de menos (-) é usado com a opção do comando para ativar essa opção e o sinal de plus (+) é usado com a opção do comando para desativar essa opção.

Valores de saída do comando set

Três valores de saída podem ser retornados por este comando mencionados no seguinte:

  1. Zero (0) é devolvido para concluir a tarefa com sucesso.
  2. Um (1) é retornado se ocorrer uma falha para qualquer argumento inválido.
  3. Um (1) é retornado se ocorrer uma falha para um argumento ausente.

Diferentes opções do comando set

Os propósitos das opções mais usadas do definir O comando é descrito nesta parte do tutorial.

Opção Propósito
-a Ele define aquelas variáveis ​​ou funções que são criadas ou modificadas ou exportadas.
-b Informa o término do trabalho.
-B Para realizar a tarefa da expansão.
-C Ele desativa o recurso de substituição do arquivo existente.
-e Ele sai para o valor de status de saída diferente de zero.
-f Ele desativa a tarefa de geração de nome do arquivo.
-h Salva a localização do comando onde foi usado.
-m Permite o controle de trabalho.
-n Ele lê os comandos.
-t Ele sai do comando depois de executar um único comando.
-você Traça as variáveis ​​não definidas.
-v Imprime as linhas de entrada do shell.
-x Ele exibe os comandos e seus atributos sequencialmente. É usado principalmente para depurar o script.

Exemplos diferentes do comando set

Os usos de definir O comando com diferentes opções são mostrados nesta parte deste tutorial.

Exemplo 1: Usando o comando set com -a opção

Crie um arquivo bash com o seguinte script que permite o “set -a”Comandando e inicialize três variáveis ​​denominadas $ v1, $ v2 e $ v3. Essas variáveis ​​podem ser acessadas após a execução do script.

#!/BIN/BASH
#Enable -uma opção para ler os valores das variáveis
set -a
#Initialize três variáveis
v1 = 78
v2 = 50
v3 = 35

Execute o script usando o seguinte comando:

$ Bash set1.Bash

Leia os valores da variável usando o comando "echo":

$ echo $ v1 $ v2 $ v3

A saída a seguir aparece após a execução dos comandos anteriores:

Exemplo 2: Usando o comando set with -c opção

Execute o comando "CAT" para criar um arquivo de texto chamado TestFile.TXT. Em seguida, execute o “SET -C”Comando para desativar o recurso de substituição. Em seguida, execute o comando "CAT" novamente para substituir o arquivo para verificar se o recurso de sobrescrição está desativado ou não.

$ cat> testfile.TXT
$ set -C
$ cat> testfile.TXT

A saída a seguir aparece após a execução dos comandos anteriores:

Exemplo 3: Usando o comando set with -x opção

Crie um arquivo bash com o seguinte script que declara uma matriz numérica de 6 elementos. Os valores da matriz são impressos usando para laço.

#!/BIN/BASH
#Declare uma matriz
arr = (67 3 90 56 2 80)
#itere os valores da matriz
Para valor em $ arr [@]
fazer
eco $ valor
feito

Execute o script anterior pelo seguinte comando:

$ bash set3.Bash

Ative a opção de depuração usando o seguinte comando:

$ set -x

A saída a seguir aparece após a execução dos comandos fornecidos:

Exemplo 4: Usando o comando set with -e opção

Crie um arquivo bash com o seguinte script que lê um arquivo usando o comando "CAT" antes e depois de usar o comando "set -e".

#!/BIN/BASH
#Leia um arquivo inexistente sem definir o conjunto -e
gato myfile.TXT
eco "lendo um arquivo ..."
#Set o comando set com -e opção
set -e
#Leia um arquivo inexistente após definir o conjunto -e
gato myfile.TXT
eco "lendo um arquivo ..."

A saída a seguir aparece após a execução dos comandos fornecidos. A primeira mensagem de erro é mostrada porque o arquivo não existe no local atual. A próxima mensagem é então impressa. Mas depois de executar o comando "set -e", a execução para depois de exibir a mensagem de erro.

Exemplo 5: Usando o comando set with -u

Crie um arquivo bash com o seguinte script que inicializa uma variável, mas imprime a variável inicializada e não inicializada antes e depois de usar o comando "set -u".

#!/BIN/BASH
#Assign Value para uma variável
strvar = "Programação Bash"
printf "$ strvar $ intvar \ n"
#Set O comando set com -u -u
set -u
#Assign Value para uma variável
strvar = "Programação Bash"
printf "\ n $ strvar $ intvar \ n"

A saída a seguir aparece após a execução do script anterior. Aqui, o erro é impresso para a variável não inicializada:

Exemplo 6: Usando o comando set with -f opção

Execute o seguinte comando para imprimir a lista de todos os arquivos de texto do local atual:

$ ls *.TXT

Execute o seguinte comando para desativar o globbing:

$ set -f

Execute o seguinte comando novamente para imprimir a lista de todos os arquivos de texto do local atual:

$ ls *.TXT

A saída a seguir aparece após a execução do script anterior. Com base na saída, o “LS *.O comando txt ”não funcionou depois de definir o comando“ set -f ”:

Exemplo 7: divida a string usando o comando set com variável

Crie um arquivo bash com o seguinte script que divide o valor da string com base no espaço usando o comando "set - variável". Os valores de divisão são impressos posteriormente.

#!/BIN/BASH
#Define uma variável de string
myvar = "Learn Bash Programming"
#Fole o comando set sem opção e com variável
Conjunto - $ myvar
#Print o valor dividido
printf "$ 1 \ n $ 2 \ n $ 3 \ n"

A saída a seguir aparece após a execução do script anterior. O valor da string é dividido em três partes com base no espaço impresso:

Conclusão

Os usos das diferentes opções do comando "set" são mostrados neste tutorial usando vários exemplos para saber os usos básicos deste comando.