Articles of bash

Git / Bash é extremamente lento no Windows 7 x64

Eu tenho usado o Git no Windows e no Ubuntu durante o desenvolvimento de um projeto pequeno, frequentemente alternando entre os dois. O problema que estou tendo é que o Git / Bash se torna lento. Quando digo devagar, quero dizer que o cd em execução leva de 8 a 25 segundos, a execução de […]

Por que “local” varre o código de retorno de um comando?

Esse snippet de Bash funciona como eu esperava: $ fun1() { x=$(false); echo “exit code: $?”; } $ fun1 exit code: 1 Mas este, usando local , não: $ fun2() { local x=$(false); echo “exit code: $?”; } $ fun2 exit code: 0 Alguém pode explicar por que o local varre o código de retorno […]

Erro ao manipular no Bash

Qual é o seu método favorito para lidar com erros no Bash? O melhor exemplo de erros de manuseio que encontrei na web foi escrito por William Shotts, Jr em http://www.linuxcommand.org . Ele sugere o uso da seguinte function para manipulação de erros no Bash: #!/bin/bash # A slicker error handling routine # I put […]

Capturando saída de encontrar. -print0 em um array bash

Usando o find . -print0 find . -print0 parece ser a única maneira segura de obter uma lista de arquivos no bash devido à possibilidade de nomes de arquivos contendo espaços, novas linhas, aspas etc. No entanto, estou tendo dificuldades para tornar a saída do find útil no bash ou com outros utilitários de linha […]

Como zerar uma sequência de inteiros no bash para que todos tenham a mesma largura?

Eu preciso dar alguns valores, for i in $(seq $first $last) do does something here done Para $first e $last , eu preciso que seja de comprimento fixo 5. Então, se a input é 1 , eu preciso adicionar zeros na frente de tal forma que se torne 00001 . Loops até 99999 por exemplo, […]

Testar se um glob corresponde a algum arquivo

Se eu quiser verificar a existência de um único arquivo, posso testá-lo usando test -e filename ou [ -e filename ] . Supondo que eu tenha um glob e eu quero saber se existem arquivos cujos nomes coincidam com o glob. O glob pode corresponder a 0 arquivos (caso em que não preciso fazer nada), […]

sudo echo “alguma coisa” >> / etc / privilegedFile não funciona… existe uma alternativa?

Esta é uma pergunta bem simples, pelo menos parece que deveria ser, sobre as permissions do sudo no Linux. Muitas vezes eu só quero acrescentar alguma coisa a /etc/hosts ou a um arquivo similar, mas acabo não sendo possível porque tanto > quanto >> não são permitidos, mesmo com root. Existe alguma maneira de fazer […]

Como percorrer os nomes de arquivos retornados por find?

x=$(find . -name “*.txt”) echo $x se eu executar o código acima no shell Bash, o que obtenho é uma string contendo vários nomes de arquivos separados por espaços em branco, não por uma lista. É claro que posso separá-los em branco para obter uma lista, mas tenho certeza de que há uma maneira melhor […]

Como escaping de uma aspa dupla dentro de aspas duplas?

Alguém pode me mostrar como escaping de aspas duplas dentro de uma corda dupla em bash? Por exemplo, no meu script de shell #!/bin/bash dbload=”load data local infile \”‘gfpoint.csv’\” into table $dbtable FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘\”‘ LINES TERMINATED BY \”‘\n’\” IGNORE 1 LINES” Eu não posso obter o ENCLOSED BY \” com […]

O que significa set -e em um script bash?

Estou estudando o conteúdo deste arquivo preinst que o script executa antes que o pacote seja descompactado de seu arquivo de repository Debian (.deb). O script tem o seguinte código: #!/bin/bash set -e # Automatically added by dh_installinit if [ “$1” = install ]; then if [ -d /usr/share/MyApplicationName ]; then echo “MyApplicationName is just […]