He escrito una pequeña secuencia de comandos en bash que analiza los archivos proporcionados o stdin si no se proporciona ningún archivo para producir algún resultado. Cuál es la mejor manera de redirigir la salida analizada a stdout (al final del script, el resultado se almacena en una variable). ¿Debo usar cat
o echo
, o hay otro método preferido?Creación de scripts en shell: cat vs echo para la salida
Respuesta
utilizar el comando printf
:
printf '%s\n' "$var"
echo
es aceptable para los casos simples, pero puede comportarse de forma extraña para ciertos argumentos. Por ejemplo, echo
tiene una opción -n
que le indica que no imprima una nueva línea. Si $var
pasa a ser -n
, entonces
echo "$var"
no imprime nada. Y hay varias versiones diferentes de echo
(ya sea integradas en varias shells o como /bin/echo
) con comportamientos sutilmente diferentes.
echo
es una buena manera de hacerlo. Tendrás que pasar por algunos aros si quieres que cat
funcione.
echo. Usted tiene sus datos analizados en una variable, por lo que solo echo "$var"
debería estar bien. cat se usa para imprimir el contenido de los archivos, que no es lo que quieres aquí.
Este es un punto importante – niagr
- 1. Combinando echo y cat en Unix
- 2. Creación de scripts en shell: uso de bash con xargs
- 3. Herramientas de creación de perfiles de rendimiento para scripts de shell
- 4. Compiladores para scripts de shell
- 5. echo that shell-escapes arguments
- 6. ¿Cómo suprimir toda la salida de diff en scripts de shell?
- 7. Creación de scripts en shell: uso de xargs para ejecutar instancias paralelas de una función de shell
- 8. ¿Cómo uso Ruby para scripts de shell?
- 9. pasar argumentos entre scripts de shell pero conservar las comillas
- 10. Usando if elif fi en shell scripts
- 11. Control de versiones para scripts de shell
- 12. ctags para scripts de shell sin extensiones
- 13. Pruebas unitarias para scripts de shell
- 14. Guardia ejecuta scripts de shell dos veces
- 15. cat archivo | ... vs ... <archivo
- 16. Creación de scripts para el usuario final
- 17. Rake vs. Thor para scripts de automatización?
- 18. Creación de scripts en el shell: se ha producido un error
- 19. scripts shell/batch para dirigir comandos al shell adb
- 20. shell - cat - fusiona contenido de archivos en un gran archivo
- 21. "[]" vs. "[[]]" en el shell Bash
- 22. Forma preferida de #! en scripts de shell
- 23. ¿Cómo asignar la salida de cat a un objeto?
- 24. ejecutan los scripts de shell en C++
- 25. Almacenamiento de salida de shell
- 26. ¿Manejo de excepciones en scripts de shell?
- 27. creación de scripts con eshell
- 28. Creación de scripts en el IDE de Visual Studio
- 29. Expresiones booleanas en scripts de shell
- 30. ¿Mejores prácticas para mantener contraseñas en shell/scripts de Perl?
+1. este consejo debería verse con más frecuencia –