Articles of bash

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 ( “” )?

Como eu uso variables ​​shell em um script awk?

Eu encontrei algumas maneiras de passar variables ​​de shell externas para um script awk , mas estou confuso sobre ‘ e ” . Primeiro, tentei com um script de shell: $ v=123test $ echo $v 123test $ echo “$v” 123test Então tentei o awk: $ awk ‘BEGIN{print “‘$v'”}’ $ 123test $ awk ‘BEGIN{print ‘”$v”‘}’ $ […]

Obtendo o diretório de origem de um script Bash de dentro

Como faço para obter o caminho do diretório em que um script Bash está localizado dentro desse script? Por exemplo, digamos que eu queira usar um script Bash como um lançador para outro aplicativo. Eu quero mudar o diretório de trabalho para aquele em que o script Bash está localizado, para que eu possa operar […]

Como definir uma variável para a saída de um comando no Bash?

Eu tenho um script bem simples que é algo como o seguinte: #!/bin/bash VAR1=”$1″ MOREF=’sudo run command against $VAR1 | grep name | cut -c7-‘ echo $MOREF Quando executo esse script a partir da linha de comando e passo os argumentos, não recebo nenhuma saída. No entanto, quando executo os comandos contidos na variável $MOREF […]

Quando envolver aspas em torno de uma variável shell?

Alguém poderia me dizer se devo ou não envolver aspas em torno de variables ​​em um script de shell? Por exemplo, é o seguinte correto: xdg-open $URL [ $? -eq 2 ] ou xdg-open “$URL” [ “$?” -eq “2” ] E se sim, porque?