Perguntas sobre 'command-substitution'

6
respostas

Qual é a diferença entre $ (stuff) e 'stuff'?

Existem duas sintaxes para a substituição de comandos: com parênteses em dólar e com backticks. A execução de top -p $(pidof init) e top -p 'pidof init' fornece a mesma saída. São estas duas maneiras de fazer a mesma coisa, ou existem dife...
13.01.2011 / 12:02
3
respostas

Citação dentro de $ (substituição de comando) no Bash

No meu ambiente Bash eu uso variáveis contendo espaços, e eu uso essas variáveis dentro da substituição de comandos. Infelizmente não consigo encontrar a resposta em SE. Qual é a maneira correta de citar minhas variáveis? E como devo fazer is...
06.03.2014 / 15:30
5
respostas

Como posso executar 'date' dentro de uma tarefa da guia cron?

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 mensa...
20.01.2012 / 18:12
5
respostas

Passa a saída do comando anterior para o próximo como um argumento

Eu tenho um comando que envia 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á úti...
10.01.2014 / 21:14
3
respostas

Compreendendo o backtick (')

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) em comandos? parece dizer que ' avalia os comandos dentro e...
17.09.2012 / 12:57
6
respostas

Substituição de comando: divisão na nova linha, mas não no espaço

Eu sei que posso resolver este problema de várias maneiras, mas estou querendo saber se existe uma maneira de fazer isso usando apenas os built-ins do bash, e se não, qual é a maneira mais eficiente de fazer isso. Eu tenho um arquivo com cont...
27.05.2012 / 23:22
4
respostas

Atribuindo código de saída a uma variável local do shell

#!/bin/bash function0() { local t1=$(exit 1) echo $t1 } function0 echo imprime o valor vazio. Eu esperava: 1 Por que a variável t1 não é atribuída ao valor de retorno do comando de saída - 1 ?     
06.06.2015 / 17:06
3
respostas

Qual é a diferença entre 'curl | sh 'e' sh -c “$ (curl)” '?

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 se parecem com isso (usando o exemplo do Docker): sh -c "$(curl -sSL https://get.docker.com...
22.01.2017 / 04:49
5
respostas

Por que a Substituição de Comando do shell engloba um caractere de nova linha à direita?

Conforme o exemplo a seguir e como em minha pergunta recente No bash, onde foi que o caractere de nova linha à direita desapareceu? , quero saber "por que" isso acontece x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # Output is: 610a...
31.07.2011 / 14:46
1
resposta

Por que a função não retorna até que o processo em segundo plano termine?

Considere este script: #!/bin/bash function start { leafpad & echo $! } PID=$(start) echo "PID is $PID" O script não continua além da sua chave de fechamento até que o processo leafpad termine, mesmo que seja um processo em segund...
27.07.2015 / 01:05