Existem duas sintaxes para substituição de comando: com parênteses em dólar e com reticulares. Em execução top -p $(pidof init)e top -p `pidof init`dá a mesma saída. Existem duas maneiras de fazer a mesma coisa ou existem
Perguntas sobre substituição de comandos shell (como $ (command) ou `command`), seu mecanismo, sintaxe correta, etc. Não deve ser confundido com alias.
Existem duas sintaxes para substituição de comando: com parênteses em dólar e com reticulares. Em execução top -p $(pidof init)e top -p `pidof init`dá a mesma saída. Existem duas maneiras de fazer a mesma coisa ou existem
No meu ambiente Bash, uso variáveis contendo espaços e essas variáveis na substituição de comandos. Infelizmente não consigo encontrar a resposta no SE. Qual é a maneira correta de citar minhas variáveis? E como devo fazer isso se estes estiverem aninhados? DIRNAME=$(dirname "$FILE") ou...
Eu tenho um comando que gera dados para stdout ( command1 -p=aaa -v=bbb -i=4). A linha de saída pode ter o seguinte valor: rate (10%) - name: value - 10Kbps Eu quero grep essa saída para armazenar essa 'taxa' (acho que o pipe será útil aqui). E, finalmente, gostaria que essa taxa fosse o valor...
Eu quero criar um arquivo de log para um script cron que tenha a hora atual no nome do arquivo de log. Este é o comando que tentei usar: 0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log Infelizmente, recebo esta mensagem quando é executada: /bin/sh: -c: line 0: unexpected...
#!/bin/bash function0() { local t1=$(exit 1) echo $t1 } function0 echoimprime valor vazio. Eu esperava: 1 Por que a t1variável não recebe o valor de retorno do comando exit -
Eu estou tentando o comando $ b=5; echo `$b`; -bash: 5: command not found mas não imprime 5 como deveria. O que estou perdendo aqui? O que significa `(backquote / backtick) nos comandos? Parece dizer que `avalia os comandos internos e os substitui pela
Sei que posso resolver esse problema de várias maneiras, mas estou me perguntando se existe uma maneira de fazê-lo usando apenas os bash built-ins e, se não, qual é a maneira mais eficiente de fazer isso. Eu tenho um arquivo com conteúdos como AAA B C DDD FOO BAR pelo que quero dizer apenas que...
Conforme o exemplo a seguir e como na minha pergunta recente No bash, para onde foi o último caractere da nova linha? , Eu quero saber "por que" isso acontece x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # Output is: 610a62 # The trailing newline from the 'echo' command # has been "deleted"...
Esta pergunta foi migrada da falha do servidor porque pode ser respondida no Unix e Linux Stack Exchange. Migrou há 2 anos . Um método de instalação fácil para o Docker (por exemplo) é o seguinte: curl -sSL https://get.docker.com/ | sh No entanto, também vi alguns que...
Considere este script: #!/bin/bash function start { leafpad & echo $! } PID=$(start) echo "PID is $PID" O script não continua além de sua chave de fechamento até o processo do leafpad terminar, mesmo que seja um processo em segundo plano. Por que é isso? É possível iniciar um processo em...
Uma resposta StackOverflow com mais de 3,5 mil votos apresenta este recurso para atribuir ao DIRdiretório do script bash atual: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Estou intrigado com as aspas duplas aninhadas. Tanto quanto posso dizer, os seguintes fragmentos são...
Em esta pergunta alguém relata um problema usando um documento aqui com uma palavra delimitador citado dentro $(...)substituição de comando , onde uma barra invertida \no final de uma linha dentro do gatilhos de documentos -juntando nova linha de continuação de linha , enquanto o mesmo aqui...
for k in {0..49}; do a=$(($((2*$k))+1)); echo $a; done Oi, preciso de uma expressão simplificada para a terceira linha, talvez uma que não use substituição de
Está na hora de resolver esse enigma que me incomoda há anos ... Venho encontrando isso de vez em quando e pensei que este é o caminho a seguir: $(comm "$(arg)") E pensei que minha visão era fortemente apoiada pela experiência. Mas não tenho mais tanta certeza. O Shellcheck também não consegue...
Estou tentando invocar um script com uma lista de nomes de arquivos coletados por find. Nada de especial, apenas algo assim: $ myscript `find . -name something.txt` O problema é que alguns dos nomes de caminho contêm espaços e, portanto, são divididos em dois nomes inválidos na expansão do...
Entendo que a $(...)sintaxe de substituição de comando mais moderna é preferida à `sintaxe antiga , devido à sintaxe de aninhamento e escape mais fácil e menos propensa a erros. Além disso, parece que a maioria das /bin/shconchas de estilo no uso moderno suporta $(…): bater ash (e, portanto,...
Responder a essa pergunta me fez fazer outra pergunta: Eu pensei que os seguintes scripts fazem a mesma coisa e o segundo deve ser muito mais rápido, porque o primeiro usa o catque precisa abrir o arquivo repetidamente, mas o segundo abre apenas o arquivo uma vez e depois apenas ecoa uma...
O código a seguir descreve melhor a situação. Por que a última linha não está exibindo o caractere de nova linha à direita? A saída de cada linha é mostrada no comentário. Estou usando o GNU bash, versão 4.1.5 echo -n $'a\nb\n' | xxd -p # 610a620a x=$'a\nb\n' ; echo -n "$x" | xxd -p #...
Estou tentando executar o grep em uma lista de algumas centenas de arquivos: $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php No entanto, mesmo que eu esteja procurando por uma sequência que eu sei que é encontrada nos arquivos, o seguinte não pesquisa os arquivos: $...
De acordo com este manual de referência : -E (também -o errtrace) Se definido, qualquer interceptação no ERR é herdada pelas funções do shell, substituições de comandos e comandos executados em um ambiente de subshell. A interceptação de ERR normalmente não é herdada nesses casos. No...