Não consigo parecer sem aspas ao redor da minha corda [fechada]

0

Estou tentando o seguinte formulário em um script .sh:

echo 'string' $var >> print.dat

e imprime o seguinte:

'string' 14.27

Qual é quase o que eu quero, mas preciso que as aspas desapareçam. Tudo que eu preciso é:

string 14.27

alguém conhece a solução aqui? Tenho certeza de que é uma pergunta simples, mas eu procurei em volta e não consegui encontrar o que queria. Talvez eu não soubesse exatamente o que procurar.

EDITAR:

Agradeço toda sua ajuda e odeio admitir isso, mas eu estava cometendo um erro realmente tolo o tempo todo. As coisas estavam imprimindo da maneira que eu queria o tempo todo no print.dat, mas eu estava usando sh -x para ver a saída e, assim, vi aspas em torno das minhas strings.

    
por Colin Gladue 18.09.2017 / 20:01

2 respostas

0
echo 'string' $var >print.dat

Isso não exibiria nada, mas escreva string seguido do valor de $var (possivelmente passando por algumas transformações, conforme não é citado) para o arquivo print.dat . As aspas ao redor da string serão removidas.

Verifique se você não tem echo alias para nada. Para ignorar qualquer alias ou função de shell com o mesmo nome, use

command echo 'string' $var >print.dat

ou use /bin/echo no lugar de echo .

Você também pode usar printf , que geralmente é mais portável do que echo :

printf 'string %s\n' "$var" >print.dat
    
por 18.09.2017 / 20:14
0

Esta solução alternativa pode fazer o trabalho (backslashify o backtick 'de acordo com o seu shell):

echo 'string' $var | tr -d \' >> print.dat
    
por 18.09.2017 / 20:04