expr parece não gostar de parênteses (usado em matemática para prioridade explícita do operador): expr 3 * (2 + 1) bash: syntax error near unexpected token `(' Como expressar a prioridade do operador no
expr parece não gostar de parênteses (usado em matemática para prioridade explícita do operador): expr 3 * (2 + 1) bash: syntax error near unexpected token `(' Como expressar a prioridade do operador no
Tendo o seguinte em uma das minhas funções shell: function _process () { awk -v l="$line" ' BEGIN {p=0} /'"$1"'/ {p=1} END{ if(p) print l >> "outfile.txt" } ' } , portanto, quando chamado como _process $arg, $argé passado como $1e usado como padrão de pesquisa. Funciona assim, porque o...
Eu gostaria de usar o columncomando Unix para formatar algum texto. Eu tenho campos delimitados por tabulações, mas dentro de cada campo também há espaços. columndelimita em espaço em branco (tabulações e espaços). Como posso fazer com que a coluna use apenas guias como delimitador? Eu estava...
Às vezes eu vejo scripts usam todas estas diferentes formas de citar algum texto: "...", '...', $'...', e $"...". Por que existem tantos tipos diferentes de cotação em uso? Eles se comportam de maneira diferente ou afetam o que eu posso fazer dentro
Estou tentando conectar meu Rasberry Pi a algum monitor usando o barramento i2c. Para começar, eu queria escrever manualmente coisas, bytes em particular em um arquivo. Como você escreve bytes específicos em um arquivo? Eu já li esse e achei que meu problema deveria ser resolvido com algo...
Ao ler sobre como configurar grub, deparei-me com um artigo afirmando que precisava usar uma das duas sintaxes a seguir, echo \(hd0,0\) >> /boot/grub/grub.conf ou echo '(hd0,0)' >> /boot/grub/grub.conf porque, na linha de comando, os parênteses são interpretados de uma maneira...
Não faço scripts suficientes para lembrar, sem olhar para cima, se aspas simples ou duplas resultam na substituição de uma variável Unix. Eu definitivamente entendo o que está acontecendo. Minha pergunta é: alguém tem um truque de memória para fazer a regra de cotação correta ficar na minha...
Como posso ecoar "$" em um documento aqui no bash? Por exemplo, eu quero ter um arquivo com o conteúdo no servidor remoto como $ABC=home_dir. $ ssh hostname sudo -s <<EOF echo "$ABC=home_dir" > file EOF Mas isso seria tratado como uma variável. Como posso imprimir um literal...
Posso omitir com segurança aspas no lado direito de uma atribuição local? function foo { local myvar=${bar} stuff() } Estou interessado principalmente bash, mas qualquer informação sobre casos de canto em outros reservatórios é
$ ls -l /tmp/test/my\ dir/ total 0 Eu queria saber por que as seguintes maneiras de executar o comando acima falham ou são bem-sucedidas? $ abc='ls -l "/tmp/test/my dir"' $ $abc ls: cannot access '"/tmp/test/my': No such file or directory ls: cannot access 'dir"': No such file or directory $...
A página de manual do GNU encontra estados: -exec command ; [...] The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find. Both of these constructions...
Essa será uma tarefa fácil, mas, em minhas memórias, quando o script de shell, o uso de aspas duplas permitiria expandir globbing e variáveis. Mas no seguinte código: #!/bin/sh echo *.sh echo "*.sh" echo '*.sh' echo $LANG echo "$LANG" echo '$LANG' Eu recebo este resultado: bob.sh...
Quero saber quais arquivos têm a string $Id$. grep \$Id\$ my_dir/mylist_of_files retorna 0 ocorrências. Eu descobri que tenho que usar grep \$Id$ my_dir/mylist_of_files Então eu vejo que o $Idcolorido está na saída, ou seja, foi correspondido. Como eu poderia combinar o segundo $e por que não...
Estou tentando verificar se uma entrada é um número inteiro e já repassei centenas de vezes, mas não vejo o erro nisso. Infelizmente, ele não funciona, ele dispara a instrução if para todas as entradas (números / letras) read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry integers...
Costumo emitir comandos complexos sobre ssh; esses comandos envolvem canalizações para awk ou perl one-lines e, como resultado, contêm aspas simples e $ 's. Não consegui descobrir uma regra rígida e rápida para fazer a citação corretamente, nem encontrei uma boa referência para isso. Por exemplo,...
ssh tem um recurso irritante quando você executa: ssh user@host cmd and "here's" "one arg" Em vez de executar isso cmdcom seus argumentos host, concatena isso cmde argumentos com espaços e executa um shell hostpara interpretar a sequência resultante (acho que é por isso que é chamada sshe não...
Estou lendo o tutorial do shell hoje em http://www.tutorialspoint.com/unix/unix-quoting-mechanisms.htm Em que menciona: Se uma aspas simples aparecer dentro de uma sequência a ser impressa, você não deve colocar a sequência inteira entre aspas simples, em vez disso, precederia o uso de uma...
Eu li que você precisa de aspas duplas para expandir variáveis, por exemplo if [ -n "$test" ]; then echo '$test ok'; else echo '$test null'; fi funcionará como esperado, enquanto if [ -n $test ]; then echo '$test ok'; else echo '$test null'; fi sempre dirá $test okmesmo se $testfor nulo. mas...
Estou tendo problemas para entender o básico dos scripts do Bash. Aqui está o que eu tenho até agora: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done Tudo o que eu quero fazer é listar todas as .txt arquivos em um forloop para que eu possa fazer coisas...
Esta pergunta foi migrada da falha do servidor porque pode ser respondida no Unix e Linux Stack Exchange. Migrou há 8 anos . O echocomando não está incluindo o texto completo que eu forneço. Por exemplo, se eu fizer: $ echo ' echo PARAM=` grep $ARG /var/tmp/setfile |...