Dê uma olhada neste script primeiro:
touch test.txt
touch loc
echo "result1" > loc
loc >> test.txt
echo "result2" > loc
loc >> test.txt
rm loc
Eu crio dois arquivos. Um deles, loc
, é temporário e tento escrever 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?
Responder1
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, touch test.txt
também parece inútil.
Responder2
isso 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
Responder3
O operador de redirecionamento espera uma string ou fluxo de caracteres como entrada e um arquivo no outro lado. Portanto, você precisa usar cat
o comando para primeiro ler o arquivo e depois redirecionar os caracteres do 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