Articles of bash

Por que o shell ignora as cotações em argumentos passados ​​para ele através de variables?

Isso funciona como anunciado: # example 1 #!/bin/bash grep -ir ‘hello world’ . Isso não: # example 2 #!/bin/bash argumentString=”-ir ‘hello world'” grep $argumentString . Apesar do ‘hello world’ estar entre aspas no segundo exemplo, o grep interpreta ‘hello como um argumento e world’ como outro, o que significa que, neste caso, ‘hello será o […]

Qual é a diferença entre $ (comando) e `comando` na programação shell?

Para armazenar a saída de um comando como uma variável em sh / ksh / bash, você pode fazer var=$(command) ou var=`command` Qual a diferença entre os dois methods?

Como posso redirect e acrescentar stdout e stderr a um arquivo com o Bash?

Para redirect o stdout para um arquivo truncado no Bash, eu sei usar: cmd > file.txt Para redirect o stdout no Bash, anexando a um arquivo, eu sei usar: cmd >> file.txt Para redirect stdout e stderr para um arquivo truncado, eu sei usar: cmd &> file.txt Como faço para redirect stdout e stderr anexando […]

Por que o eval deve ser evitado no Bash, e o que devo usar em vez disso?

De tempos em tempos, vejo respostas do Bash no Stack Overflow usando o eval e as respostas são interrompidas, trocadilho, para o uso de um constructo “maligno”. Por que o eval é tão mal? Se eval não puder ser usado com segurança, o que devo usar em vez disso?

Como definir permanentemente $ PATH no Linux / Unix?

Eu estou tentando adicionar um diretório para o meu caminho, assim será sempre no meu caminho Linux. Eu tentei: export PATH=$PATH:/path/to/dir Isso funciona, mas sempre que saio do terminal e inicio uma nova instância de terminal, esse caminho é perdido e preciso executar o comando de exportação novamente. Como posso fazer isso para que isso […]

substituição de sed com variables ​​bash

Tentando alterar valores em um arquivo de texto usando sed em um script bash com a linha, sed ‘s/draw($prev_number;n_)/draw($number;n_)/g’ file.txt > tmp Isso será em um loop for. Não tenho certeza porque não está funcionando. Alguma sugestão?

Os scripts de shell são sensíveis à codificação e aos finais de linha?

Estou criando um aplicativo NW.js no Mac e quero executar o aplicativo no modo de desenvolvimento clicando duas vezes em um ícone. Primeiro passo, estou tentando fazer meu script de shell funcionar. Usando o VSCode no Windows (eu queria ganhar tempo), criei um arquivo run-nw na raiz do meu projeto, contendo isto: #!/bin/bash cd “src” […]

Como faço para escrever um script bash para reiniciar um processo se ele morrer?

Eu tenho um script python que irá verificar uma fila e executar uma ação em cada item: # checkqueue.py while True: check_queue() do_something() Como faço para escrever um script bash que irá verificar se ele está em execução, e se não, iniciá-lo. Aproximadamente o seguinte pseudocódigo (ou talvez seja algo como ps | grep ?): […]

Como converter newline DOS / Windows (CRLF) para Unix newline (LF) em um script Bash?

Como posso programaticamente (ou seja, não usando vi ) converter novas linhas DOS / Windows para Unix? Os comandos dos2unix e unix2dos não estão disponíveis em determinados sistemas. Como posso emular isso com comandos como sed / awk / tr ?

Como faço para comparar duas variables ​​de string em uma instrução ‘if’ no Bash?

Eu estou tentando obter uma declaração if para trabalhar no Bash (usando o Ubuntu ): #!/bin/bash s1=”hi” s2=”hi” if [“$s1” == “$s2”] then echo match fi Eu tentei várias formas da instrução if , usando [[“$s1” == “$s2”]] , com e sem aspas, usando = , == e -eq , mas ainda recebo o seguinte […]