Resolver Problema Bash Substituição ruim

Resolver Problema Bash Substituição ruim
Você pode ter recebido o problema de sintaxe de substituição ruim ao desenvolver scripts de basquete. Depois de navegar nos fóruns, você pode descobrir que não está sozinho; Outros indivíduos estão encontrando o mesmo erro. É uma falha tipográfica que acontece quando você executa seu script de shell e pode acontecer por vários motivos. O uso errado da substituição de instrução e caracteres errôneos anexados ao programa são duas razões principais para isso.

Vamos ver como podemos fazer nosso script de shell causar esse erro e como resolvê -lo. Comece com o novo arquivo Bash criado com a consulta "Touch" do Ubuntu e abra -a dentro do editor "GNU Nano".

$ touch sub.sh
$ nano sub.sh

Exemplo 01

A primeira razão para o erro de substituição ruim é o uso da sintaxe de código errada. Vamos dar uma olhada nisso. Começando do primeiro código Bash, adicionamos suporte de bash na primeira linha do script Bash, eu.e., “#!/Bin/Bash ”. Depois disso, inicializamos uma variável simples "V" com o comando da lista do Ubuntu como seu valor. Este valor foi inserido dentro dos colchetes encaracolados e com o sinal "$" para considerá -lo como um comando shell. Depois disso, a declaração Echo está aqui para simplesmente exibir o valor da variável "V" no shell. Nosso código está completo e pronto para usar.

Salvamos o código Bash e voltamos ao terminal depois de usar Ctrl+S e Ctrl+X, respectivamente. Executamos este arquivo de script Bash recém -criado com a instrução "Bash" e recebemos a "substituição ruim" aqui em nossa tela. Este erro ocorreu devido ao uso de colchetes encaracolados “” em torno da instrução da lista no código.

$ Bash Sub.sh

Vamos tentar atualizar nosso código para resolver este erro agora. Então, removemos os colchetes encaracolados da segunda linha de código e o substituímos pelos colchetes simples “()”, conforme apresentado abaixo. No geral, o código permanecerá o mesmo, pois não há problema com o código. Salve este código agora.

Depois de sair do editor do GNU Nano, executaremos o arquivo Bash “Sub.SH ”Código atualizado com o uso da instrução“ Bash ”, conforme apresentado abaixo. Acontece que o erro de substituição ruim foi removido após a atualização do código e a instrução da lista inserida na variável "V" foi executada com sucesso. O comando da lista exibiu todo o conteúdo do diretório inicial atual, i i.e., arquivos e pastas, em nossa tela de casca.

$ Bash Sub.sh

Exemplo 02

Outra razão para a ocorrência de erros de substituição ruins em Bash é o uso de espaços desnecessários enquanto executa algumas variáveis. Então, adicionamos suporte ao bash e inicializamos uma variável "V" com a instrução da lista como um valor mantido por colchetes simples e um sinal de dólar "$.”Depois disso, usamos a declaração“ Echo ”para exibir a variável“ V ”Valor. Mas adicionamos a variável "V" na declaração "Echo" junto com o "espaço" entre os colchetes.

Depois de salvar este código, executamos este arquivo Bash com a consulta "Bash" em nosso terminal, conforme apresentado abaixo. Retorna a substituição do Bash no 3rd linha do script.

$ Bash Sub.sh

Para remover o erro do nosso código, temos que atualizar nosso código. Então, abrimos o arquivo novamente e removemos o espaço extra dentro dos colchetes encaracolados da declaração "Echo" como abaixo.

Agora que o código foi atualizado e o espaço em branco é removido, temos que executar esse arquivo com a instrução BASH apresentada abaixo. Depois de executar o arquivo, o erro de substituição ruim foi removido e a instrução da lista especificada na variável "V" foi executada com sucesso no terminal após a declaração "Echo" ser executada no script Bash. A lista de arquivos e pastas de diretório inicial atual é exibida em nossa tela de shell abaixo.

$ Bash Sub.sh

Exemplo 03

Este erro também pode ocorrer devido ao uso de caracteres indesejados repetidos no código. Então, tentamos um código atualizado para obter esse erro no shell. Para isso, temos que usar o caractere "$" duas vezes na declaração "Echo" para especificar a variável "V" para execução, que é a sintaxe errada para fazê -lo. Esta variável "V" contém a instrução de lista simples como seu valor. Como usamos a entrada e saída dupla "$" dos colchetes encaracolados na declaração "Echo", isso nos levará a um erro de substituição ruim na execução.

Depois de executar o código com as instruções Bash, encontramos um erro de substituição ruim na linha 3 do script Bash em nossa tela de casca.

$ Bash Sub.sh

Vamos remover o erro de substituição ruim da execução atualizando a linha 3 de um código. Removemos o sinal interno "$" dentro dos colchetes encaracolados da declaração "Echo".

Depois de remover o sinal "$", executamos o código novamente no shell com o comando "Bash". O erro foi removido e a lista de arquivos e pastas foi exibida.

$ Bash Sub.sh

Exemplo 04

Vamos ter nosso último, mas não o menor exemplo deste artigo. Temos usado duas variáveis, x e y, contendo o local do diretório como seu valor. Na declaração "Echo" deste código, usamos as duas variáveis ​​a serem impressas e separadas pelo sinal "/". Cada variável contém um sinal de dólar com ele, enquanto um sinal de dólar também é usado fora dos colchetes encaracolados.

O uso de suportes encaracolados e sinais de dólares causou um erro de substituição ruim.

$ Bash Sub.sh

Então, removemos os colchetes encaracolados e o sinal de dólar externo, como mostrado abaixo.

Este valor de tempo de ambas as variáveis ​​foi exibido.

$ Bash Sub.sh

Conclusão

É tudo sobre a ilustração de criar um código de bash para os erros, causando o erro de substituição ruim durante a execução. Discutimos o que faz e não evitamos o erro através da execução de diferentes exemplos de bash.