Articles of bash

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 […]

Lendo os argumentos citados / escapados corretamente de uma string

Eu estou encontrando um problema passando um argumento para um comando em um script Bash. poc.sh: #!/bin/bash ARGS='”hi there” test’ ./swap ${ARGS} troca: #!/bin/sh echo “${2}” “${1}” A saída atual é: there” “hi Mudando apenas o poc.sh (como eu acredito que o swap faz o que eu quero corretamente), como faço para que o poc.sh […]

aqui-documento dá erro ‘fim de arquivo inesperado’

Eu preciso do meu script para enviar um email do terminal. Com base no que vi aqui e em muitos outros lugares on-line, eu o formatei assim: /var/mail -s “$SUBJECT” “$EMAIL” << EOF Here's a line of my message! And here's another line! Last line of the message here! EOF No entanto, quando eu corro […]

Como posso usar um arquivo em um comando e redirect a saída para o mesmo arquivo sem truncá-lo?

Basicamente eu quero tomar como texto de input de um arquivo, remover uma linha desse arquivo e enviar a saída de volta para o mesmo arquivo. Algo nesse sentido, se isso torna tudo mais claro. grep -v ‘seg[0-9]\{1,\}\.[0-9]\{1\}’ file_name > file_name no entanto, quando faço isso, acabo com um arquivo em branco. Alguma ideia?

Maneira rápida e suja de garantir que apenas uma instância de um script de shell esteja sendo executada por vez

O que é uma maneira rápida e suja de garantir que apenas uma instância de um script de shell esteja sendo executada em um determinado momento?

Como esperar no bash por vários subprocesss para finalizar e retornar o código de saída! = 0 quando qualquer subprocess termina com código! = 0?

Como esperar em um script bash para vários subprocesss gerados a partir desse script para concluir e retornar o código de saída! = 0 quando qualquer um dos subprocesss terminar com o código! = 0? Roteiro simples: #!/bin/bash for i in `seq 0 9`; do doCalculations $i & done wait O script acima irá esperar […]

Como faço para solicitar a input Sim / Não / Cancelar em um script de shell do Linux?

Eu quero pausar a input em um script de shell e solicitar ao usuário para escolhas. A pergunta do tipo padrão “Sim, Não ou Cancelar”. Como faço isso em um típico prompt bash?

Saída de tubulação e status de saída de captura no Bash

Eu quero executar um longo comando em execução no Bash, e ambos capturam seu status de saída e tee sua saída. Então eu faço isso: command | tee out.txt ST=$? O problema é que a variável ST captura o status de saída do tee e não do comando. Como posso resolver isso? Note que o […]

Uma maneira eficiente de transpor um arquivo no Bash

Eu tenho um enorme arquivo separado por tabulação formatado como este X column1 column2 column3 row1 0 1 2 row2 3 4 5 row3 6 7 8 row4 9 10 11 Eu gostaria de transpor isso de uma maneira eficiente usando apenas comandos bash (eu poderia escrever um script Perl de dez ou mais linhas […]

Como cortar o espaço em branco de uma variável Bash?

Eu tenho um script de shell com este código: var=`hg st -R “$path”` if [ -n “$var” ]; then echo $var fi Mas o código condicional sempre é executado, porque hg st sempre imprime pelo menos um caractere de nova linha. Existe uma maneira simples de retirar o espaço em branco de $var (como trim() […]