มีวิธีใดบ้างในการตรวจสอบประวัติของเซสชันปัจจุบันเท่านั้น?


10

ฉันต้องการทราบว่ามีคำสั่งใด ๆ หรือวิธีอื่นใดที่ฉันสามารถตรวจสอบประวัติคำสั่งของฉันเฉพาะในเซสชันปัจจุบัน

คำตอบ:


12

historyสร้างขึ้นในbashช่วยให้ระบุชื่อไฟล์เมื่อใช้กับ-anrwธงและ-aคำอธิบายธงจากhelp historyรัฐ:

ต่อท้ายบรรทัดประวัติจากเซสชันนี้ไปยังไฟล์ประวัติ

ดังนั้นเราสามารถทำ:

~$ history -a this_session.history
~$ cat ./this_session.history 
history mysession.history 
cat mysession.history 
clear
history -a this_session.history

สำหรับเร็กคอร์ด-w(ประวัติการเขียนไปยังไฟล์ opion) เขียนประวัติทั้งหมดไปยังไฟล์ที่ระบุดังนั้น-a(ต่อท้าย) ที่นี่จึงเป็นตัวเลือกที่ต้องการ


ยังมีวิธีอื่น ๆ โดยเฉพาะอย่างยิ่งkshไม่ได้มี-aสถานะเป็นbashไม่ แต่สิ่งที่ksh และmkshจะมีเป็นHISTFILEตัวแปรสภาพแวดล้อม (และbashมีที่มากเกินไปเพราะbashรวมจำนวนมากkshคุณสมบัติ); ยังmkshไงก็ตามตัวแปรตามค่าเริ่มต้นไม่ได้ถูกตั้งค่าไว้ (อย่างน้อยใน Ubuntu ไม่ได้ตั้งค่าไว้) ดังนั้นสำหรับการส่งออกเซสชั่นปัจจุบันไปยังไฟล์อื่น ๆ เราเรียกว่าHISTFILEprepended to command ซึ่งในไวยากรณ์ของเชลล์หมายถึงการรันคำสั่งด้วยตัวแปรสภาพแวดล้อมเพิ่มเติมที่คุณระบุ ชอบมาก

bash-4.4$ HISTFILE='mykshfile.hist' ksh
$ echo 'Hello'
Hello
$ echo 'World'
World
$ 
bash-4.4$ cat ./mykshfile.hist 
�echo 'Hello'
echo 'World'

สิ่งที่คุณยังสามารถดูจากนี้คือkshประวัติศาสตร์และเปลือกหอยที่เกี่ยวข้องกับการส่งออกที่มีตัวอักษรพิเศษแทนข้อความล้วนเป็นสิ่งที่bashไม่ kshดังนั้นคุณอาจต้องการที่จะเปิดแฟ้มที่มี

เท่าที่POSIX /bin/sh เชลล์บน Ubuntuซึ่งเป็น Debian Almquist Shell หรือ Dash มีอยู่แล้วfcในตัว อย่างไรก็ตามบน Ubuntu รีบรวบรวมโดยไม่ต้อง lib แก้ไขซึ่งเป็นทางเลือกที่ใส่ใจโดยนักพัฒนาอูบุนตูเพื่อเหตุผลด้านประสิทธิภาพดังนั้นfcและโหมดอื่น ๆ ที่จำเป็นต้องมีการแก้ไขบรรทัด ไม่ทำงานออกจากกล่อง (ยกเว้นกรณีที่คอมไพล์dashตัวเองและติดตั้งlib-edit)


วิธีที่เป็นกลางของเชลล์คือการบันทึกเซสชันของคุณด้วยเครื่องมือที่มีอยู่ หรือเขียนฟังก์ชันของคุณเองเพื่อบันทึกตามคำสั่ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.