Saya hanya dapat mencetak pesan di terminal menggunakan echo
perintah linux .
prayag@prayag$ echo "prayag works on JVM"
prayag works on JVM
Bisakah saya memiliki output yang sama dengan print
perintah.
Saya benar-benar membaca manual mereka, di mana $ man print
menggambarkannya sebagai program Run-mailcap yang istilahnya belum pernah saya dengar sebelumnya. Dan mengetahui bahwa itu digunakan untuk menemukan program yang benar untuk membuka file dengan, berdasarkan MIME.
Jadi apakah ada cara untuk mencetak garis sederhana menggunakan print
sendiri echo
?
Menemukan masalah serupa di Need untuk menetapkan konten file teks ke variabel dalam skrip bash , tetapi orang-orang menyarankan echo
di print
sana.
Saya mencoba mengikuti, tetapi ada masalah.
$ 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"
Ia meminta file, dengan file yang disediakan.
$ 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"
Tetapi mulai bekerja dalam kombinasi dengan awk
perintah dengan file yang disediakan,
$ awk '{print}' application.properties
prayag works on JVM
Jawaban:
Anda membingungkan banyak hal di sini, izinkan saya mencoba dan menggoda ini untuk Anda.
awk '{print}' ...
Ini tidak ada hubungannya dengan yang
print
Anda tanyakan.awk
adalah bahasa pemrograman dinamis yang berisi perintahnya sendiri,print
salah satunya adalah salah satunya.print --"text/plain" "prayag works on JVM"
dan bentuk lainnyaPerintahnya
print
adalah untuk menampilkan file per isi file mailcap, menggunakan "penangan" yang ditunjuk untuk setiap jenis file tertentu, bukan untuk mencetak string ke layar.kutipan dari halaman manual cetak
echo
Perintahnya
echo
adalah perintah builtin ke shell yang Anda gunakan bernama Bash (saya berasumsi Anda menggunakan Bash). Anda dapat mengkonfirmasi ini dengan menggunakan perintah ini:Anda akan melihat bahwa
echo
itu juga executable mandiri/bin/echo
,. Ini adalah perintah yang berbeda dari yangecho
Anda gunakan, tetapi melayani tujuan yang sama.print
dalam kerang seperti zsh / kshBerkat komentar @Gilles,
print
perintah yang Anda cari kemungkinan besar adalah perintah yang dibuat dalam shell sepertizsh
dan / atauksh
. Anda dapat melihat penggunaannya melalui halaman manualman zshbuiltins
,.Contoh
Anda dapat menjalankan salah satu dari kerang ini dengan mengetik
zsh
atauksh
.printf
Mungkin Anda sedang mencari perintah
printf
?Perintah ini
printf
mengambil set pemformatan karakter khusus sehingga Anda dapat menginstruksikannya bagaimana Anda ingin menampilkan hal-hal seperti string atau digit dll. Lihat halaman manual untukprintf
.mailcap
Jadi banyak orang mungkin tidak menyadari file tersebut
/etc/mailcap
. File ini berisi tipe mime (header dari file yang mengidentifikasi jenis file file apa). Anda kemudian dapat membuat entri dalammailcap
file ini yang menunjuk alat apa yang digunakan untuk membuka tipe mime tertentu untuk file.Contoh
Baris di atas mengatakan bahwa jika Anda mendapatkan file dengan tipe mime
audio/mpeg
, maka gunakan alat/usr/bin/mplayer
untuk membuka file ini.Aturan-aturan ini umumnya digunakan oleh alat email, tetapi alat lain dapat memanfaatkan entri ini di dalam
mailcap
file juga.Jika Anda tertarik untuk mempelajari lebih lanjut tentang tipe mime atau mailcap, lihat referensi berikut.
Referensi
sumber
print
juga merupakan ksh (dan zsh) builtin, mirip denganecho
tetapi tanpa kebiasaan sejarah. Itu mungkin asal usul mengapa penanya pertanyaan SO itu digunakanprint
.Anda dapat menggunakan perintah printf untuk melakukannya,
Nah, secara lengkap Anda perlu menggunakan print commnad maka Anda bisa menambahkan alias
juga untuk mengatur permanen,
begitu,
sumber