Simplemente puedo imprimir un mensaje en la terminal usando el echo
comando de Linux .
prayag@prayag$ echo "prayag works on JVM"
prayag works on JVM
¿Puedo tener la misma salida con el print
comando?
De hecho, $ man print
revisé sus manuales, donde los describe como Run-mailcap-programas, término que nunca antes había escuchado. Y llegué a saber que se usa para encontrar el programa correcto para abrir un archivo, basado en MIME.
Entonces, ¿hay alguna forma de imprimir una línea simple usando print
solo en lugar de echo
?
Encontraron el mismo tipo de problema en la necesidad de asignar el contenido de un archivo de texto a una variable en un script bash , pero la gente lo que sugiere echo
más de print
allí.
Intenté seguir, pero tuve problemas.
$ print --"text/plain" "prayag works on JVM"
Warning: unknown mime-type for "prayag works on JVM" -- using "application/octet-stream"
Error: no such file "prayag works on JVM"
Pide un archivo, con el archivo proporcionado.
$ print --"text/plain" application.properties
Warning: unknown mime-type for "application.properties" -- using "application/octet-stream"
Error: no "print" mailcap rules found for type "application/octet-stream"
Pero trabajé en combinación con el awk
comando con un archivo proporcionado,
$ awk '{print}' application.properties
prayag works on JVM
Respuestas:
Estás confundiendo muchas cosas aquí, déjame tratar de descifrar esto por ti.
awk '{print}' ...
Esto no tiene nada que ver con lo
print
que estás preguntando.awk
es un lenguaje de programación dinámico que contiene sus propios comandos, de los cualesprint
es uno de ellos.print --"text/plain" "prayag works on JVM"
y otras formasEl comando
print
es para mostrar archivos según el contenido del archivo mailcap, utilizando el "controlador" designado para cada tipo de archivo en particular, no para imprimir cadenas en la pantalla.extracto de la página del manual de impresión
echo
El comando
echo
es un comando incorporado al shell que está usando llamado Bash (supongo que está usando Bash). Puede confirmar esto usando este comando:Se dará cuenta de que
echo
también es un ejecutable independiente,/bin/echo
. Este es un comando diferente alecho
que está utilizando, pero tiene un propósito similar.print
en shells como zsh / kshGracias al comentario de @Gilles, el
print
comando que está buscando es muy probablemente el que está integrado en shells comozsh
y / oksh
. Se puede ver su uso a través de la página del manual,man zshbuiltins
.Ejemplo
Puede ejecutar uno de estos shells escribiendo
zsh
oksh
.printf
¿Quizás estás buscando el comando
printf
?El comando
printf
toma un conjunto de formatos de caracteres especiales para que pueda indicarle cómo desea mostrar elementos como cadenas o dígitos, etc. Consulte la página del manual para obtener más informaciónprintf
.correo postal
Por lo tanto, muchas personas probablemente ignoran el archivo
/etc/mailcap
. Este archivo contiene tipos MIME (encabezados de archivos que identifican qué tipo de archivo es un archivo). Luego puede crear entradas en estemailcap
archivo que designen qué herramienta usar para abrir un tipo MIME particular para un archivo.Ejemplo
Las líneas anteriores dicen que si obtiene un archivo con el tipo mime
audio/mpeg
, use la herramienta/usr/bin/mplayer
para abrir este archivo.La herramienta de correo electrónico generalmente usa estas reglas, pero otras herramientas también pueden aprovechar estas entradas dentro del
mailcap
archivo.Si está interesado en aprender más sobre los tipos mime o mailcap, consulte las siguientes referencias.
Referencias
fuente
print
También es un ksh (y zsh) incorporado, similarecho
pero sin las peculiaridades históricas. Ese es probablemente el origen último de por qué usó el autor de esa pregunta SOprint
.Puede usar el comando printf para hacerlo,
Bueno, exatly necesitas usar print commnad y luego puedes agregar un alias
también para establecer permanente,
entonces,
fuente