arquivo temporário não encontrado no script sh

2

Dê uma olhada no script primeiro:

touch test.txt
touch loc

echo "result1" > loc
loc >> test.txt

echo "result2" > loc
loc >> test.txt

rm loc

Eu crio para arquivos, um deles loc é temporário e tento gravar nele, mas recebo a seguinte mensagem de erro:

5: script.sh: loc: not found
8: script.sh: loc: not found

Como posso fazê-lo funcionar?

    
por goulashsoup 01.11.2016 / 14:46

3 respostas

-2

O operador de redirecionamento espera uma sequência ou fluxo de caracteres como o lado da entrada e um arquivo do outro lado. Portanto, você precisa usar o comando cat para primeiro ler o arquivo e, em seguida, redirecionar os caracteres de fluxo para o arquivo de saída.

touch test.txt
touch loc
echo "result1" > loc
cat loc >> test.txt
echo "result2" > loc
cat loc >> test.txt
rm loc
    
por 01.11.2016 / 14:57
9

loc não é um comando. Você precisaria usar cat loc >> test.txt para anexá-lo ao text.txt. Caso contrário, você também pode evitar completamente o arquivo temporário:

echo "result1" >> test.txt
echo "result2" >> test.txt

Note que touch test.txt também parece inútil.

    
por 01.11.2016 / 15:05
-1

isto irá criar o test.txt

echo "result1" |  tee -a  test.txt
echo "result2" |  tee -a  test.txt

OU use isso em uma etapa

echo "result1" && echo "result2" |  tee -a  test.txt
    
por 02.11.2016 / 05:35