Pertanyaan Bagaimana cara mengambil cadangan shell?


Saya sedang mengerjakan cangkang dan mendapat beberapa pengecualian aneh dalam program saya.

Sama seperti referensi, saya ingin menyimpan semua yang ada di shell saya ke file teks. Saya tidak hanya menginginkan sejarah perintah tetapi juga semua hasil yang dihasilkan oleh perintah tersebut di shell.

Apakah ada utilitas bawaan untuk melakukan ini? Saya telah membiarkan shell terbuka untuk saat ini, sehingga saya dapat mengambil cadangan. Juga, saya menggunakan xterm dan itu tidak memungkinkan memilih semua jalan sampai ke bagian atas shell, jadi cara utamanya adalah dengan mengambil cadangan satu layar pada suatu waktu. Ada saran?

Shellnya seperti

alt text


2
2017-09-02 18:39


asal


Shell apa yang Anda gunakan? Bash, Bourne, Korn, Z, C, dll.? Saya pikir ketika Anda mengatakan "shell" berarti "terminal" sebagai gantinya. Pesan kesalahan apa yang Anda dapatkan? Anda ingin menyimpan salinan output setelah-the-fakta? Biasanya, sebelum Anda dapat menggunakannya script untuk menyimpan input dan output. - Dennis Williamson
Juga, apakah Anda benar-benar menggunakan "xterm", atau apakah Anda menggunakan itu untuk merujuk pada sesuatu seperti Konsole atau sejenisnya? Konsol emulator terminal (dan yang lain seperti itu) memiliki kemampuan untuk melakukan penebangan, dan semacamnya. - Matt


Jawaban:


kupikir script mungkin ada gunanya di sini

http://linux.die.net/man/1/script

Dan xterm harus memiliki kemampuan untuk memilih yang Anda inginkan. Saya akan memeriksa bendera Anda, termasuk -sl NUMBER, -sb


3
2017-09-02 19:06



script adalah temuan yang bagus, tetapi harus dimulai terlebih dahulu. - Lazer


Untuk menyalin seluruh konten jendela, termasuk scrollback, pilih baris terakhir (dengan menyeret tombol mouse kiri atau dengan mengklik tiga kali tombol mouse kiri), kemudian gunakan bilah gulir untuk menggulir ke bagian atas dan klik kanan di bagian atas sudut kiri. Perhatikan bahwa tidak seperti metode di bawah ini, ini hanya akan menunjukkan hasil akhir sebagai teks biasa: itu tidak akan menampilkan hal-hal yang ditampilkan kemudian dihapus, dan itu tidak akan menampilkan warna dan format lainnya.


Untuk menghindari hal ini di masa depan, Anda dapat mencoba ini.

  • Jalankan sesi Anda di dalam script. Logging sesi shell adalah scripttujuan dalam hidup.

  • Jalankan sesi Anda di dalam screen. Ini memiliki beberapa perintah yang dapat membantu Anda, termasuk C-a h untuk menulis "screenshot" ke dalam file, dan C-a H untuk mulai mencatat semua keluaran berikutnya ke file.

  • Beberapa emulator terminal memiliki fasilitas penebangan. Di xterm, Anda dapat menyalakannya dengan mencentang "Log to File" di Ctrl+ menu kiri-tombol-mouse; semua output terminal selanjutnya dicatat. Dengan -l pilihan, ini dilakukan untuk seluruh sesi.


3
2017-09-02 19:52



+1 Dan pindahkan bagian yang mungkin membantu dalam kasus ini (ingin menangkap sesi yang ada) ke atas - Nifle