Я просто могу напечатать сообщение в терминале с помощью echo
команды linux .
prayag@prayag$ echo "prayag works on JVM"
prayag works on JVM
Могу ли я иметь тот же вывод с print
командой.
Я на самом деле просмотрел их руководства, где $ man print
описывает их как Run-mailcap-программы, термин которых я никогда раньше не слышал. И узнал, что он используется для поиска правильной программы для открытия файла с помощью MIME.
Так есть ли способ напечатать простую строку, используя print
один вместо echo
?
Найдено подобного рода проблемы при необходимости присвоения содержимого текстового файла в переменную в Баш скрипт , но люди предлагая echo
более print
там.
Я попытался следовать, но получил проблемы.
$ 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"
Он запрашивает файл с предоставленным файлом.
$ 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"
Но получил работу в сочетании с awk
командой с предоставленным файлом,
$ awk '{print}' application.properties
prayag works on JVM
Ответы:
Вы путаете многие вещи здесь, позвольте мне попробовать и дразнить это для вас отдельно.
awk '{print}' ...
Это не имеет ничего общего с тем, о
print
чем вы спрашиваете.awk
динамический язык программирования, который содержит свои собственные команды, одной из которыхprint
являетсяprint --"text/plain" "prayag works on JVM"
и другие формыКоманда
print
предназначена для отображения файлов в соответствии с содержимым файла mailcap, используя назначенный «обработчик» для каждого конкретного типа файлов, а не для вывода строк на экран.выдержка из страницы руководства для печати
echo
Эта команда
echo
является встроенной в оболочку, которую вы используете, под названием Bash (я предполагаю, что вы используете Bash). Вы можете подтвердить это с помощью этой команды:Вы заметите, что
echo
это также отдельный исполняемый файл/bin/echo
. Эта команда отличается от используемойecho
вами, но служит аналогичной цели.print
в оболочках типа зш / кшБлагодаря комментарию @Gilles,
print
вы, скорее всего, ищете команду, встроенную в такие оболочки, какzsh
и / илиksh
. Вы можете увидеть его использование на странице руководстваman zshbuiltins
.пример
Вы можете запустить одну из этих оболочек, набрав
zsh
илиksh
.Printf
Возможно, вы ищете команду
printf
?Команда
printf
принимает набор форматирования специальных символов, чтобы вы могли указать, как вы хотите отображать такие вещи, как строки или цифры и т. Д. См. Справочную страницуprintf
.mailcap
Так что многие люди, вероятно, не обращают внимания на файл
/etc/mailcap
. Этот файл содержит MIME-типы (заголовки из файлов, которые определяют тип файла). Затем вы можете создать записи в этомmailcap
файле, которые определяют, какой инструмент использовать для открытия определенного типа MIME для файла.пример
Вышеуказанные строки говорят, что если вы получаете файл с mime-типом
audio/mpeg
, используйте инструмент,/usr/bin/mplayer
чтобы открыть этот файл.Эти правила обычно используются инструментом электронной почты, но другие инструменты также могут использовать эти записи в
mailcap
файле.Если вы хотите узнать больше о mime-types или mailcap, смотрите следующие ссылки.
Ссылки
источник
print
также является встроенным ksh (и zsh), похожим,echo
но без исторических причуд. Вероятно, это и есть окончательное происхождение вопроса о том, кто задал этот вопросprint
.Вы можете использовать команду printf, чтобы сделать это,
Ну, конечно, вам нужно использовать принт-комнад, то вы можете добавить псевдоним
также установить постоянный,
так,
источник