Je peux simplement imprimer un message dans le terminal en utilisant la echo
commande linux .
prayag@prayag$ echo "prayag works on JVM"
prayag works on JVM
Puis-je avoir la même sortie avec la print
commande.
En fait, j'ai parcouru leurs manuels, où $ man print
il est décrit comme des programmes Run-mailcap, terme que je n'avais jamais entendu auparavant. Et est venu à savoir qu'il est utilisé pour trouver le bon programme pour ouvrir un fichier avec, basé sur MIME.
Existe-t-il un moyen d' imprimer une ligne simple en utilisant print
seul au lieu de echo
?
Trouvé même genre de problème Nécessité d'affecter le contenu d'un fichier texte à une variable dans un script bash , mais les gens suggérant echo
plus print
là.
J'ai essayé de suivre, mais j'ai eu des problèmes.
$ 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"
Il demande un fichier, avec le fichier fourni.
$ 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"
Mais a travaillé en combinaison avec la awk
commande avec un fichier fourni,
$ awk '{print}' application.properties
prayag works on JVM
Réponses:
Vous confondez beaucoup de choses ici, laissez-moi essayer de vous expliquer cela.
awk '{print}' ...
Cela n'a rien à voir avec ce
print
que vous demandez.awk
est un langage de programmation dynamique qui contient ses propres commandes, dont l'print
une d'entre elles.print --"text/plain" "prayag works on JVM"
et autres formesLa commande
print
sert à afficher les fichiers en fonction du contenu du fichier mailcap, en utilisant le "gestionnaire" désigné pour chaque type de fichier particulier, et non à imprimer des chaînes à l'écran.extrait de la page de manuel d'impression
echo
La commande
echo
est une commande intégrée au shell que vous utilisez appelée Bash (je suppose que vous utilisez Bash). Vous pouvez le confirmer en utilisant cette commande:Vous remarquerez que
echo
est un exécutable autonome,/bin/echo
. Il s'agit d'une commande différente de celleecho
que vous utilisez, mais sert un objectif similaire.print
dans des coques telles que zsh / kshGrâce au commentaire de @Gilles, la
print
commande que vous recherchez est probablement celle qui est intégrée dans des shells tels quezsh
et / ouksh
. Vous pouvez voir son utilisation à travers la page de manuel,man zshbuiltins
.Exemple
Vous pouvez exécuter l'un de ces shells en tapant
zsh
ouksh
.printf
Vous recherchez peut-être la commande
printf
?La commande
printf
prend un ensemble de mise en forme de caractères spéciaux afin que vous puissiez lui indiquer comment vous souhaitez afficher des éléments tels que des chaînes ou des chiffres, etc. Consultez la page de manuel pourprintf
.mailcap
Donc, beaucoup de gens sont probablement inconscients du dossier
/etc/mailcap
. Ce fichier contient des types MIME (en-têtes de fichiers qui identifient le type de fichier d'un fichier). Vous pouvez ensuite créer des entrées dans cemailcap
fichier qui désignent quel outil utiliser pour ouvrir un type MIME particulier pour un fichier.Exemple
Les lignes ci-dessus indiquent que si vous obtenez un fichier avec le type MIME
audio/mpeg
, utilisez l'outil/usr/bin/mplayer
pour ouvrir ce fichier.Ces règles sont généralement utilisées par l'outil de messagerie, mais d'autres outils peuvent également tirer parti de ces entrées dans le
mailcap
fichier.Si vous souhaitez en savoir plus sur les types MIME ou le mailcap, consultez les références suivantes.
Références
la source
print
est également un ksh (et zsh) intégré, similaireecho
mais sans les bizarreries historiques. C'est probablement l'origine ultime de la raison pour laquelle le demandeur de cette question SO a utiliséprint
.Vous pouvez utiliser la commande printf pour ce faire,
Eh bien, vous devez utiliser la commande d'impression avant d'ajouter un alias
aussi de fixer permanent,
donc,
la source