在linux中列印命令而不是echo
我只需使用 linux
echo
命令在終端中列印一條消息。prayag@prayag$ echo "prayag works on JVM" prayag works on JVM
我可以使用
我實際上瀏覽了他們的手冊,其中
$ man print
將其描述為 Run-mailcap-programs,這是我以前從未聽說過的術語。並且開始知道它用於基於 MIME 找到正確的程序來打開文件。那麼有什麼方法可以單獨使用而不是列印一條簡單的線?
print``echo
在需要將文本文件的內容分配給 bash 腳本中的變數時發現了類似的問題,但人們建議
echo
在我嘗試關注,但遇到了問題。
$ 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}' ...
awk
是一種動態程式語言,它包含自己的命令,其中一個命令print --"text/plain" "prayag works on JVM"
和其他形式該命令
摘自列印手冊頁
run-mailcap,查看,查看,編輯,撰寫,列印 - 通過 mailcap 文件中的條目執行程序
run-mailcap(或其任何別名)將使用給定的操作依次處理每個 mime 類型/文件。每個文件都被指定為它的 mime 類型、它的編碼(例如壓縮)和文件名,用冒號分隔。如果省略 mime-type,則嘗試通過將文件的副檔名與 mime.types 文件中的副檔名匹配來嘗試確定類型。如果省略編碼,也將根據文件的副檔名確定。目前支持的編碼有 gzip (.gz)、bzip (.bz)、bzip2 (.bz2) 和 compress (.Z)。文件名“-”可用於表示“標準輸入”,但必須指定 MIME 類型。
echo
該命令
echo
是您正在使用的名為 Bash 的 shell 的內置命令(我假設您正在使用 Bash)。您可以使用以下命令確認這一點:$ type -a echo echo is a shell builtin echo is /bin/echo
您會注意到它
echo
也是一個獨立的執行檔,/bin/echo
. 這是與您正在使用的命令不同的命令echo
,但用於類似的目的。 4.感謝@Gilles 評論,
zsh
and/orksh
。您可以通過手冊頁查看其用法,man zshbuiltins
.例子
zsh % print "hello world" hello world
您可以通過鍵入
zsh
或來執行這些 shell 之一ksh
。列印
也許您正在尋找命令
printf
?$ printf "%s\n" "hello stringy world" hello stringy world $ printf "this is some padded digits: %04d\n" "10" this is some padded digits: 0010
該命令
printf
採用一組特殊字元的格式,以便您可以指示它如何顯示字元串或數字等內容。請參閱printf
.郵件帽
所以很多人可能對文件一無所知
/etc/mailcap
。此文件包含 mime 類型(文件的標頭,用於標識文件是什麼類型的文件)。然後,您可以在此mailcap
文件中創建條目,指定使用什麼工具來打開文件的特定 mime 類型。例子
text/html; /usr/bin/sensible-browser '%s'; description=HTML Text; nametemplate=%s.html application/x-troff-man; /usr/bin/nroff -mandoc -Tutf8; copiousoutput; print=/usr/bin/nroff -mandoc -Tutf8 | print text/plain:- application/x-ogg; /usr/bin/mplayer '%s'; description="OggVorbis Audio" application/ogg; /usr/bin/mplayer '%s'; description="OggVorbis Audio" audio/mpeg; /usr/bin/mplayer '%s'; description="MPEG Audio Format" audio/x-mpegurl; /usr/bin/mplayer '%s'; description="Icecast Playlists" audio/x-ms-wax; /usr/bin/mplayer '%s'; description="Audio Format"
上面幾行說如果你得到一個 mime-type 的文件
audio/mpeg
,然後使用該工具/usr/bin/mplayer
打開這個文件。這些規則通常由電子郵件工具使用,但其他工具也可以利用
mailcap
文件中的這些條目。如果您有興趣了解有關 mime-types 或 mailcap 的更多資訊,請參閱以下參考資料。
參考