Articles of bash

Por que um script de shell correto geraria uma mensagem de erro corrompida / truncada / corrompida?

Eu tenho um script de shell com um comando que parece que deve funcionar, mas em vez disso, ele falha com uma mensagem de erro corrompida / truncada / corrompida ímpar. Exemplo: $ ls -l myfile -rw-r—– 1 me me 0 Aug 7 12:36 myfile $ cat myscript ls -l myfile $ bash myscript : […]

No shell, o que significa “2> e 1”?

Em um shell Unix, se eu quiser combinar stderr e stdout no stream stdout para manipulação adicional, posso acrescentar o seguinte no final do meu comando: 2>&1 Então, se eu quiser usar head na saída do g++ , posso fazer algo assim: g++ lots_of_errors 2>&1 | head então eu posso ver apenas os primeiros erros. […]

Extraia o nome do arquivo e a extensão no Bash

Eu quero pegar o nome do arquivo (sem extensão) e a extensão separadamente. A melhor solução que encontrei até agora é: NAME=`echo “$FILE” | cut -d’.’ -f1` EXTENSION=`echo “$FILE” | cut -d’.’ -f2` Isso está errado porque não funciona se o nome do arquivo contiver vários . personagens. Se, digamos, eu tiver abjs , ele […]

Diferença entre sh e bash

Ao escrever programas shell, geralmente usamos /bin/sh e /bin/bash . Eu costumo usar bash , mas não sei qual é a diferença entre eles. Qual a principal diferença entre bash e sh ? O que precisamos saber ao programar em bash and sh ?

Como faço para dividir uma string em um delimitador no Bash?

Eu tenho essa string armazenada em uma variável: IN=”bla@some.com;john@home.com” Agora eu gostaria de dividir as cordas por ; delimitador para que eu tenha: ADDR1=”bla@some.com” ADDR2=”john@home.com” Eu não preciso necessariamente das variables ADDR2 e ADDR2 . Se eles são elementos de uma matriz que é ainda melhor. Depois de sugestões das respostas abaixo, acabei com o […]

Analisando JSON com ferramentas Unix

Estou tentando analisar o JSON retornado de uma solicitação de onda, assim: curl ‘http://twitter.com/users/username.json’ | sed -e ‘s/[{}]/”/g’ | awk -vk=”text” ‘{n=split($0,a,”,”); for (i=1; i<=n; i++) print a[i]}' O acima divide o JSON em campos, por exemplo: % … “geo_enabled”:false “friends_count”:245 “profile_text_color”:”000000″ “status”:”in_reply_to_screen_name”:null “source”:”web” “truncated”:false “text”:”My status” “favorited”:false % … Como imprimo um campo específico […]

Acabei de atribuir uma variável, mas echo $ variable mostra outra coisa

Aqui está uma série de casos em que echo $var pode mostrar um valor diferente do que foi designado. Isso acontece independentemente de o valor atribuído ter sido “citado duas vezes”, “com citação simples” ou sem aspas. Como obtenho o shell para definir minha variável corretamente? Asteriscos A saída esperada é /* Foobar is free […]

Como faço para analisar os argumentos da linha de comando no Bash?

Diga, eu tenho um script que é chamado com esta linha: ./myscript -vfd ./foo/bar/someFile -o /fizz/someOtherFile ou este aqui: ./myscript -v -f -d -o /fizz/someOtherFile ./foo/bar/someFile Qual é a maneira aceita de analisar isso de tal forma que em cada caso (ou alguma combinação dos dois) $v , $f e $d serão todos definidos como […]

Comando não encontrado erro na atribuição de variável Bash

Eu tenho esse script chamado test.sh: #!/bin/bash STR = “Hello World” echo $STR quando eu corro sh test.sh eu recebo isso: test.sh: line 2: STR: command not found O que estou fazendo de errado? Eu olho para os tutoriais de script bash extremamente básicos / iniciantes e é assim que eles dizem para declarar variables […]

Diferença entre aspas simples e duplas no Bash

No Bash, quais são as diferenças entre aspas simples ( ” ) e aspas duplas ( “” )?