Articles of bash

Looping através do conteúdo de um arquivo no Bash

Como faço para percorrer cada linha de um arquivo de texto com o Bash ? Com este script: echo “Start!” for p in (peptides.txt) do echo “${p}” done Eu recebo essa saída na canvas: Start! ./runPep.sh: line 3: syntax error near unexpected token `(‘ ./runPep.sh: line 3: `for p in (peptides.txt)’ (Mais tarde eu quero […]

Como depurar um script bash?

Existe alguma maneira de depurar um script bash? Por exemplo, algo que imprime uma espécie de log de execução como “linha de chamada 1”, “linha de chamada 2” etc.

Como verificar se existe um programa a partir de um script Bash?

Como eu validaria se um programa existe, de uma forma que retorne um erro e saia ou continue com o script? Parece que deve ser fácil, mas está me enganando.

Como usar colchetes duplos ou únicos, parênteses, chaves

Estou confuso com o uso de colchetes, parênteses, chaves no Bash, bem como a diferença entre suas formas dupla ou única. Existe uma explicação clara?

Qual é a diferença entre .bashrc, .bash_profile e .environment?

Eu usei um número de diferentes sistemas baseados em * nix dos anos, e parece que cada sabor do Bash que eu uso tem um algoritmo diferente para decidir quais scripts de boot devem ser executados. Para fins de tarefas como configurar variables ​​de ambiente e aliases e imprimir mensagens de boot (por exemplo, MOTDs), […]

Faça um alias de Bash que use um parâmetro?

Eu costumava usar o CShell ( csh ), que permite criar um alias que usa um parâmetro. A notação era algo como alias junk=”mv \\!* ~/.Trash” No Bash, isso não parece funcionar. Dado que Bash tem uma infinidade de resources úteis, eu diria que este foi implementado, mas eu estou querendo saber como.

Como escaping aspas simples dentro de cadeias de caracteres simples entre aspas?

Digamos que você tenha um alias bash como: alias rxvt=’urxvt’ que funciona bem. Contudo: alias rxvt=’urxvt -fg ‘#111111’ -bg ‘#111111” não vai funcionar, e nem vai: alias rxvt=’urxvt -fg \’#111111\’ -bg \’#111111\” Então, como você acaba combinando abrindo e fechando citações dentro de uma string depois de ter escapado de citações? alias rxvt=’urxvt -fg’\”#111111’\” -bg […]

Nomes de variables ​​dinâmicas no Bash

Estou confuso sobre um script bash. Eu tenho o seguinte código: function grep_search() { magic_way_to_define_magic_variable_$1=`ls | tail -1` echo $magic_variable_$1 } Eu quero ser capaz de criar um nome de variável contendo o primeiro argumento do comando e tendo o valor de, por exemplo, a última linha de ls . Então, para ilustrar o que […]

Como faço para iterar em um intervalo de números definidos por variables ​​no Bash?

Como faço para iterar em um intervalo de números no Bash quando o intervalo é dado por uma variável? Eu sei que posso fazer isso (chamado de “expressão de seqüência” na documentação do Bash): for i in {1..5}; do echo $i; done Que dá: 1 2 3 4 5 Ainda assim, como posso replace um […]

Uma variável modificada dentro de um loop while não é lembrada

No programa a seguir, se eu definir a variável $foo para o valor 1 dentro da primeira instrução if , ela funcionará no sentido de que seu valor é lembrado após a instrução if. No entanto, quando eu definir a mesma variável para o valor 2 dentro de um if que está dentro de uma […]