archivo temporal no encontrado en el script sh

archivo temporal no encontrado en el script sh

Eche un vistazo a este script primero:

touch test.txt
touch loc

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

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

rm loc

Creo dos archivos. Uno de ellos, loces temporal e intento escribir en él pero aparece el siguiente mensaje de error:

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

¿Cómo puedo hacer que funcione?

Respuesta1

locno es una orden. Debería utilizarlo cat loc >> test.txtpara agregarlo a text.txt. De lo contrario, también puedes evitar el archivo temporal por completo:

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

Tenga en cuenta que touch test.txttambién parece inútil.

Respuesta2

esto creará el test.txt

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

O use esto en 1 paso

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

Respuesta3

El operador de redirección espera una cadena o flujo de caracteres como lado de entrada y un archivo en el otro lado. Por lo tanto, debe usar catel comando para leer primero el archivo y luego redirigir los caracteres de la secuencia al archivo de salida.

touch test.txt
touch loc
echo "result1" > loc
cat loc >> test.txt
echo "result2" > loc
cat loc >> test.txt
rm loc

información relacionada