Ini adalah perintah rlwrap yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
rlwrap - pembungkus readline
RINGKASAN
bungkus [rlwrap-opsi] Command ...
DESKRIPSI
bungkus menjalankan yang ditentukan Command, mencegat input pengguna untuk memberikan garis baca's
pengeditan baris, riwayat dan penyelesaian yang persisten.
bungkus mencoba untuk benar-benar transparan - Anda (atau cangkang Anda) seharusnya tidak menyadarinya
perbedaan antara Command dan bungkus Command - kecuali fungsionalitas readline yang ditambahkan,
tentu saja. Ini bahkan harus berlaku ketika Anda mengarahkan ulang, menyalurkan, dan mengirim
sinyal dari dan ke Command, atau kapan Command memanipulasi pengaturan terminalnya.
Ada banyak opsi untuk menambahkan penyelesaian (dapat diprogram), menangani input multi-baris, warna
dan menulis ulang perintah. Jika Anda tidak membutuhkannya (dan Anda mungkin tidak membutuhkannya), Anda dapat melewati
sisa halaman manual ini.
PILIHAN
-Sebuah, --selalu-baca-baca [kata sandi_prompt]
Selalu tetap dalam "mode readline", terlepas dari Commandpengaturan terminal. Menggunakan
opsi ini jika Anda ingin menggunakan bungkus dengan Commands yang sudah menggunakan readline. NB:
Dengan opsi ini, rlwrap akan menggemakan (dan menyimpan) kata sandi, kecuali jika Anda memberikan Command's
password prompt sebagai argumen. Argumen adalah opsional; jika diberikan, itu harus
langsung mengikuti opsi tanpa ruang intervensi.
Pada mesin linux Anda dapat menggunakan -N (--tanpa-anak) pilihan untuk mencegah
pembungkus pager dan editor dipanggil dari Command; ini seharusnya membuat mereka lebih banyak
dapat digunakan
Banyak perintah yang perlu --selalu-baca-baca mungkin juga membutuhkan -t bodoh untuk mencegah terminal
mengontrol urutan dari membingungkan bungkus (walaupun ini akan mengganggu
pager dan editor yang disebutkan di atas)
-SEBUAH, --ansi-sadar-warna
Perintah yang menggunakan warna akan membingungkan rlwrap, terutama di akhir input yang panjang
garis. Opsi ini akan membuat rlwrap berperilaku lebih baik dalam kasus seperti itu. Jika prompt
berisi apa pun yang lebih menarik daripada kode warna ANSI, opsi ini sebenarnya dapat membuat
hal-hal yang lebih buruk.
-B, --break-karakter daftar_karakter
Pertimbangkan pemecah kata karakter tertentu (spasi selalu
pemecah kata). Ini menentukan apa yang dianggap sebagai "kata", baik saat menyelesaikan
dan saat membuat daftar kata penyelesaian dari file yang ditentukan oleh -f Pilihan
mengikuti (bukan mendahului!) itu. Daftar default (){}[],'+-=&^%$#@"";|\ Kecuali -c adalah
ditentukan, / dan . (titik) termasuk dalam daftar default.
-C, --nama-file lengkap
Nama file lengkap (penyelesaian nama file selalu peka huruf besar/kecil, bahkan dengan -i
option) Saat melakukan ini, rlwrap melacak Commands direktori kerja.
-C, --nama-perintah nama_perintah|N
penggunaan nama_perintah alih-alih Command untuk menentukan nama-nama sejarah dan
file penyelesaian, dan untuk menginisialisasi readline (sebagaimana ditentukan dalam ~ / .inputrc). Itu
argumen numerik N > 0 berarti: gunakan argumen ke-N yang menghitung mundur dari akhir
dari daftar argumen
-D, --sejarah-tanpa-penipuan n
Seberapa agresif untuk menyingkirkan entri duplikat dari riwayat input. Jika n = 0,
semua input disimpan dalam daftar riwayat, jika n = 1 (ini adalah default) berturut-turut
duplikat dikeluarkan dari daftar, sementara n = 2 akan membuat bungkus jatuhkan semua
kejadian sebelumnya dari input saat ini dari daftar.
-e, --extra-char-setelah-selesai tangki
Secara default, rlwrap menambahkan spasi setelah teks penyelesaian yang dimasukkan. Gunakan ini
opsi untuk mengubahnya menjadi '' (jangan masukkan apa pun) atau karakter lain.
-F, --mengajukan fillet
Split fillet menjadi kata-kata dan menambahkannya ke daftar kata penyelesaian. Opsi ini dapat
diberikan lebih dari satu kali, dan menambahkan ke daftar penyelesaian default di $RLWRAP_HOME atau
/usr/share/rlwrap/completions.
-G, --lupa-mencocokkan regexp
Lupakan (yaitu keluar dari daftar riwayat) semua baris input yang cocok dengan POSIX 1003.2
ekspresi reguler regexp. Pertandingan selalu peka huruf besar-kecil. regexp mungkin sebuah
tali biasa. Untuk lebih lanjut tentang ekspresi reguler, lihat regex (7)
-H, --membantu
Cetak pesan bantuan singkat.
-H, --sejarah-nama file fillet
Baca riwayat perintah dari fillet (dan tulis kembali di sana jika --histsize >= 0)
-Saya, --tidak peka huruf besar-kecil
Abaikan huruf besar/kecil saat menyelesaikan (penyelesaian nama file tetap peka huruf besar/kecil). Ini
opsi harus ada sebelum opsi -f apa pun.
-SAYA, --pass-sign-as-sigterm
Kirim sinyal TERM ke Command saat INT diterima (misalnya saat Anda menekan CTRL-C).
-aku, --file log fillet
Saat dalam mode readline, tambahkan Commandoutput (termasuk input pengguna yang di-echo) ke
fillet (menciptakan fillet bila tidak ada).
-N, --tidak ada peringatan
Jangan cetak peringatan.
-N, --tanpa-anak
(khusus linux) Jangan rlwrap Commandanak 's: kapanpun bungkus memperhatikan bahwa Command
sedang menunggu salah satu anaknya, ia beralih ke mode langsung, menyerahkan semua
penekanan tombol segera. Dengan opsi ini, perintah yang membutuhkan --always-readline bisa
hubungi editor dan pager dan masih dapat digunakan.
-M, --multi-baris [pengganti_baris baru]
Aktifkan input multi-baris menggunakan urutan karakter "pengganti baris baru" (" \ ",
[spasi-backslash-spasi] secara default). Pengganti baris baru diterjemahkan ke baris baru
sebelum mengirim input ke Command. Dengan opsi ini, Anda dapat memanggil eksternal
editor $RLWRAP_EDITOR pada input (diperluas) saat ini dengan rlwrap_call_editor
key (CTRL-^ secara default) Argumennya opsional; kalau dikasih harus langsung
ikuti opsi tanpa spasi.
-M, --multi-baris-ekst .ext
Panggil editor multi-baris pada file sementara dengan ekstensi nama file .ext (berguna untuk
misalnya pewarnaan sintaks otomatis)
-Hai, --satu tembakan
Kirim EOF ke Command setelah menerima baris input pertama
-HAI, --hanya-memasak regexp
Hanya "memasak" yang meminta kecocokan itu regexp
-P, --prompt-warna [color_name|nama_warna|warna_spesifikasi]
Gunakan salah satu nama warna hitam, merah, hijau, kuning, biru, biru, ungu
(= magenta) or putih, atau ANSI-conformant untuk mewarnai prompt apa pun
ditampilkan oleh Command. Nama warna huruf besar (Kuning or KUNING ) memberikan huruf tebal
mengingatkan. Perintah yang sudah berisi (warna) escape sequence atau salah satu dari
readline "abaikan penanda" (ASCII 0x01 dan 0x02) tidak berwarna. Pilihan ini
menyiratkan --ansi-sadar-warna. warna spek memiliki bentuk ; [; ] Contoh:
-p'1;31' akan memberikan prompt merah tebal pada latar belakang saat ini (ini adalah default
ketika tidak ada argumen yang diberikan). Google untuk 'warna ANSI' untuk mempelajari lebih lanjut tentang warna
kode. Argumen adalah opsional; jika diberikan, itu harus langsung mengikuti opsi
tanpa ruang intervensi.
-P, --pra-diberikan teks
Start bungkus dengan teks di buffer editnya (ini akan secara otomatis mengatur
--always-readline pilihan).
-Q, --kutipan-karakter daftar_karakter
Asumsikan bahwa karakter yang diberikan bertindak sebagai tanda kutip, misalnya saat mencocokkan tanda kurung.
Berhati-hatilah untuk keluar dari daftar dengan benar untuk Shell Anda (contoh: -q "\"'", yang
kebetulan menjadi default, atau -q "\"" yang akan lebih baik untuk pengguna Lisp)
-R, --ingat
Letakkan semua kata yang terlihat pada in- dan output pada daftar penyelesaian.
-R, --renice
Membuat bungkus lebih bagus dari Command (lih bagus (1)). Hal ini dapat mencegah bungkus dari
mengganggu Command untuk menampilkan prompt ketika Command masih "berpikir" tentang
apa yang harus dikeluarkan selanjutnya.
-S, --histize N
Batasi daftar riwayat ke entri N, memotong file riwayat (default: 300). A
ukuran negatif -N berarti sama dengan N, tetapi memperlakukan file riwayat sebagai hanya-baca.
-S, --pengganti-prompt cepat
Ganti prompt yang ditentukan untuk Commandpromptnya sendiri. Terutama berguna ketika
Command tidak memiliki prompt.
-T, --set-istilah-nama nama
set CommandSYARAT untuk nama. Program yang membingungkan bungkus dengan kontrol layar mewah
kode terkadang dapat dijinakkan dengan menentukan -t bodoh
-di, --Versi: kapan
Cetak versi rlwrap.
-w, --tunggu-sebelum-prompt batas waktu
Untuk menentukan apakah Commandkeluaran terakhir adalah prompt, bungkus menunggu batas waktu
milidetik setelah menerimanya. Hanya ketika tidak ada output lagi yang datang, itu dimasak
(diwarnai, difilter dan/atau diganti dengan prompt pengganti) dan ditampilkan sebagai
mengingatkan. Sebelum ini prompt ditampilkan "mentah". Sebagian besar pengguna tidak akan menyadarinya,
tetapi kompor berat dapat menambahkan batas waktu dengan tanda minus, membuat rlwrap hold
kembalikan prompt sampai matang ("mode pasien"). Ini akan mencegah
berkedip prompt, tetapi juga akan mengganggu jalur output yang panjang dan membuat
beralih dari langsung ke mode readline kurang dapat diandalkan. Batas waktu default: 40 mdtk
-W, --jajak pendapat
EKSPERIMENTAL: Bangun setiap batas waktu milidetik, di mana batas waktu sama dengan untuk
-w (--wait-before-Prompt) opsi, 40 ms secara default. Ini digunakan untuk merasakan
karakter interupsi slave dan flag ISIG dan untuk menyesuaikan pengaturan terminal stdin
sesuai, bahkan sebelum Anda menekan tombol. Coba opsi ini misalnya ketika CTRL-C bertindak
berbeda pada Command dengan, dan tanpa, rlwrap.
-z, --Saring menyaring
Gunakan filter untuk mengubah bungkusperilaku. Filter dapat digunakan untuk memastikan
masukan dari sejarah, untuk mengubah prompt, untuk mengimplementasikan makro sederhana atau
penyelesaian yang dapat diprogram.. bungkus hadir dengan spesial perl modul (lih.
Filter Rlwrap(3 sore)) untuk memudahkan penulisan filter. Beberapa contoh filter adalah
diinstal di direktori /usr/share/rlwrap/filters. "rlwrap -z menyaring" menampilkan
informasi tentang filter, "daftar rlwrap -z" mencantumkan semua yang saat ini diinstal
filter. Jika menyaring membutuhkan argumen, Anda harus mengutip seluruh perintah filter
garis:
rlwrap -z perintah 'filter args'
Jika baris perintah ini berisi metakarakter shell, bungkus meneruskannya ke sistem
cangkang untuk penguraian.
CONTOH
Run nc (netcat) dengan pengeditan dan riwayat baris perintah
bungkus nc
Bungkus klien kecil (yang menggunakan readline itu sendiri), jauhkan kata sandi dari riwayat dan jangan
bungkus perintah yang diluncurkan dari smbclient (seperti lebih)
bungkus -kata sandi: -N klien kecil //KACANG/C
Bungkus kurang ajar (penerjemah Skema) dengan prompt biru tebal, aktifkan pengeditan multi-baris
(menggunakan .scm sebagai ekstensi nama file) dan jangan menganggap tanda kutip tunggal sebagai tanda kutip (sehingga
tanda kurung di misalnya (cetak 'q) cocok)
bungkus -pBiru -m -M .scm -Q'"' Astaga
Dapatkan daftar semua filter yang terpasang saat ini
bungkus -z daftar
Dapatkan bantuan untuk filter pipa
bungkus -z pipa
Bungkus sqlite3, menggunakan pipa filter untuk dapat menyalurkan output dari perintah SQL melalui
grep dan / atau kurang, lengkap (tidak peka huruf besar/kecil) pada kata kunci SQL di 'sql_words'
bungkus -a -z pipa -i -f sql_kata-kata sqlite3 kontak.db
Dalam skrip shell, gunakan bungkus dalam mode 'satu tembakan' sebagai pengganti Baca baca
pesanan=$(rlwrap -pKuning -S 'Milikmu Pizza? ' -H masa lalu_pesanan -P Daisy -o kucing)
LANGSUNG MODE DAN BACAAN MODE
Sebagian besar perintah konsol sederhana menempatkan terminal Anda dalam mode "matang" atau "mentah". Di dalam
mode dimasak terminal akan menunggu sampai Anda menekan tombol ENTER sebelum menyerahkan seluruh
baris ke program, dalam mode mentah setiap tombol yang Anda tekan diturunkan segera. Di masak
mode Anda biasanya dapat menggunakan tombol spasi mundur, tetapi bukan tombol panah, untuk mengedit input Anda.
Sebagian besar perintah konsol sederhana menggunakan mode matang kapan pun mereka menginginkan seluruh baris input, dan mentah
mode ketika mereka ingin menekan tombol tunggal. Perintah yang lebih canggih cenderung menggunakan mode mentah
sepanjang waktu; mereka terkadang dapat dibungkus dengan -a (Dan -N) pilihan.
Bila Anda bungkus Command, bungkus akan menjalankannya dalam sesi terpisah, dengan miliknya sendiri
"pseudo-terminal" (pty), dan pantau pty ini untuk melihat apakah pty dalam mode mentah atau dalam
modus dimasak. Dalam kasus pertama, bungkus akan menyalin semua input dan output secara langsung antara
Command dan terminal Anda ("mode langsung"). Dalam kasus kedua, bungkus akan menggunakan readline untuk
edit input Anda ("mode readline"), dan monitor Command's output - setiap baris terakhir yang
tidak diakhiri dengan baris baru adalah prompt potensial. Bagaimana menangani prompt kandidat seperti itu
tergantung pada berada dalam mode "sabar" atau "tidak sabar":
PASIEN DAN TIDAK SABAR MODE
If Command menulis banyak output, cenderung ditulis (dan dibaca) dalam "potongan". Tidak semua
potongan akan diakhiri dengan baris baru, dan kita perlu membedakan baris terakhirnya dari yang asli
prompt, terutama jika kita ingin menulis ulang ("cook") prompt. bungkus menyelesaikan ini (hampir)
dengan menunggu sebentar, untuk melihat apakah ada lagi yang akan datang. "Sedikit" adalah 40 mdtk secara default,
tapi ini bisa diubah dengan -w pilihan. Biasanya bungkus menulis prompt yang dicurigai
segera setelah diterima, menggantinya dengan versi "dimasak" setelah waktu tunggu. Ini
disebut mode "tidak sabar". Jika Anda tidak menyukai efek berkedip (yang bisa menjadi
menjengkelkan ketika Anda "memasak" prompt dengan berat) Anda dapat menempatkan bungkus dalam "mode pasien" oleh
menentukan nilai negatif dengan -w (misalnya -w -40). Rlwrap kemudian akan menahan prompt
dan hanya mencetak jika setelah dimasak.
MEMASAK PERMINTAAN
Jika dan kapan bungkus memutuskan bahwa ia memiliki prompt, ia akan melakukan sejumlah tindakan pada
itu, tergantung pada opsi yang diberikan: penyaringan (-z), menggantikan (-S) dan pewarnaan (-p),
dalam urutan ini. Prompt "dimasak" yang dihasilkan kemudian dicetak (setelah menghapus "mentah"
cepat, jika perlu)
KHUSUS KUNCI
kontrol + O
Terima baris saat ini, tetapi jangan masukkan ke dalam daftar riwayat. Tindakan ini memiliki
garis baca nama perintah rlwrap-terima-baris-dan-lupakan
kontrol + ^
Gunakan editor eksternal untuk mengedit input saat ini (ini hanya akan berfungsi jika -m
pilihan diatur). Tindakan ini memiliki garis baca nama perintah rlwrap-panggilan-editor
Kunci khusus ini dipilih tanpa alasan lain selain bahwa mereka saat ini tidak terikat
untuk setiap tindakan readline. Jika Anda tidak menyukainya, (atau pengelola jendela Anda menelannya)
mereka dapat diikat kembali dengan lebih masuk akal dengan memasukkan baris seperti berikut di Anda
~ / .inputrc:
"\M-\Cm": rlwrap-accept-line-and-forget # ESC-ENTER
"\C-xe": rlwrap-call-editor # CTRL-x e
lihat NS garis baca(3) halaman manual
LINGKUNGAN
RLWRAP_HOME:
direktori di mana sejarah dan file penyelesaian disimpan.
RLWRAP_EDITOR (atau EDITORatau lainnya VISUAL):
editor untuk digunakan untuk input multi-baris. Contoh:
ekspor RLWRAP_EDITOR="microemacs -l%L:%C"
ekspor RLWRAP_EDITOR="vi +%L"
Contoh terakhir adalah default; %L dan %C diganti dengan nomor baris dan kolom
sesuai dengan posisi kursor di bungkusedit buffer
RLWRAP_FILTERDIR:
Eksekusi apa pun di sepanjang PATH Anda secara teori dapat digunakan sebagai filter, tetapi karena
filter harus mengikuti protokol yang agak aneh (lih. Filter Rlwrap (3)) ini adalah sebuah
ide yang baik untuk memisahkan mereka. Ini sebabnya bungkus menambahkan direktori filter khusus
ke $PATH tepat sebelum meluncurkan filter. Secara default, ini adalah
/usr/share/rlwrap/filters, tetapi $RLWRAP_FILTERDIR digunakan jika disetel.
SINYAL
Sejumlah sinyal diteruskan ke Command: HUP INT QUIT USR1 USR2 JANGKA dan (dengan cara
mengubah ukuran Commandterminal) WINCH. Beberapa perawatan diambil untuk menangani TSTP (biasanya akibat dari
a CTRL-Z dari terminal) dengan bijaksana - misalnya, setelah menangguhkan bungkus di tengah
dari pengeditan baris, melanjutkan (dengan mengetik 'fg') akan mengarahkan Anda ke tempat yang tepat di mana Anda
ditangguhkan itu.
Filter yang membutuhkan waktu lebih dari 1 detik untuk merespons dapat diinterupsi oleh CTRL-C dari
terminal (walaupun bungkus tidak akan selamat dari ini)
If Command mengubah penekanan tombol yang mengirim sinyal tertentu dari keyboard (seperti
emacs, yang menggunakan CTRL-G alih-alih CTRL-C) bungkus akan melakukan hal yang sama (tetapi hanya setelah
penekanan tombol berikutnya - gunakan --jajak pendapat opsi untuk membuat rlwrap lebih transparan dalam hal ini)
Ketika Command dibunuh oleh sinyal, bungkus akan membersihkan, mengatur ulang penangan sinyalnya dan
kemudian bunuh diri dengan mengirimkan sinyal yang sama ke dirinya sendiri. Ini berarti cangkang Anda melihat
status keluar yang sama seperti yang akan terlihat tanpa bungkus.
PENGALIHAN
Ketika input standar bukan terminal, mengedit input tidak masuk akal, jadi bungkus
akan mengabaikan semua opsi dan cukup jalankan Command. Ketika stdout (atau stderr) bukan a
terminal, rlwrap akan membukanya kembali ke /dev/tty (terminal pengguna) setelah dimulai
Command, Sehingga Commandoutput dialihkan seperti yang diharapkan, tetapi input keyboard dan
bungkus pesan kesalahan masih terlihat.
Hasil dari ini adalah bungkus Command berperilaku kurang lebih seperti Command ketika
mengarahkan.
EXIT STATUS
bukan nol setelah a bungkus kesalahan, atau yang lain Commandstatus keluarnya. bungkus akan selalu meninggalkan
terminal dalam keadaan rapi, bahkan setelah crash.
Gunakan rlwrap online menggunakan layanan onworks.net
