Articles of bash

Use esperar no script bash para fornecer senha para o comando SSH

Para aqueles que querem responder que eu deveria usar as chaves SSH, por favor abstenha-se Eu estou tentando usar esperar em um script bash para fornecer a senha do SSH. Desde que a senha funcione, mas eu não termino na session SSH como deveria, ela volta ao estreito. Meu script: #!/bin/bash read -s PWD /usr/bin/expect […]

Como fazer uma busca / substituição recursiva de uma string com awk ou sed?

Como faço para encontrar e replace todas as ocorrências de: subdomainA.example.com com subdomainB.example.com em todos os arquivos de texto sob a tree de diretórios /home/www/ recursivamente?

eco “#!” falha – “evento não encontrado”

O seguinte falha e não entendo porque: $ echo “#!” o seguinte também falha com a mesma mensagem de erro: $ echo “\#!” a mensagem de erro: -bash: !”: event not found Por que isso falha? Como o echo deve ser feito?

Como posso saber se um arquivo regular não existe no Bash?

Eu usei o seguinte script para ver se existe um arquivo: #!/bin/bash FILE=$1 if [ -f $FILE ]; then echo “File $FILE exists.” else echo “File $FILE does not exist.” fi Qual é a syntax correta para usar se eu quiser apenas verificar se o arquivo não existe? #!/bin/bash FILE=$1 if [ $FILE does not […]

Loop através de uma matriz de seqüências de caracteres no Bash?

Eu quero escrever um script que percorra 15 strings (array possivelmente?) Isso é possível? Algo como: for databaseName in listOfNames then # Do something end

Dividir string em um array no Bash

Em um script Bash eu gostaria de dividir uma linha em pedaços e armazená-los em uma matriz. A linha: Paris, France, Europe Eu gostaria de tê-los em uma matriz como esta: array[0] = Paris array[1] = France array[2] = Europe Eu gostaria de usar um código simples, a velocidade do comando não importa. Como eu […]

Comando sed com opção -i falhando no Mac, mas funciona no Linux

Eu usei com sucesso o seguinte comando sed para procurar / replace texto no Linux: sed -i ‘s/old_link/new_link/g’ * No entanto, quando eu tento no meu Mac OS X, recebo: “comando c espera \ seguido por texto” Eu pensei que meu Mac executa um shell BASH normal. Estás bem? EDITAR: De acordo com o @High […]

Como comparar dois números de ponto flutuante no Bash?

Eu estou tentando comparar dois números de ponto flutuante dentro de um script bash. Eu tenho que variables, por exemplo let num1=3.17648e-22 let num2=1.5 Agora, eu só quero fazer uma comparação simples desses dois números: st=`echo “$num1 < $num2" | bc` if [ $st -eq 1]; then echo -e "$num1 = $num2” fi Infelizmente, tenho […]

Script de shell enquanto o loop de linha de leitura é interrompido após a primeira linha

Eu tenho o seguinte script de shell. O propósito é fazer um loop através de cada linha do arquivo de destino (cujo caminho é o parâmetro de input para o script) e trabalhar contra cada linha. Agora, parece funcionar apenas com a primeira linha no arquivo de destino e pára depois que a linha é […]

O que é expansão indireta? O que significa $ {! Var *}?

Eu estou lendo ” Guia de Bash para Iniciantes “. Diz: Se o primeiro caractere de PARAMETER é um ponto de exclamação, Bash usa o valor da variável formada do resto de PARAMETER como o nome da variável; esta variável é então expandida e esse valor é usado no resto da substituição, em vez do […]