มียูทิลิตี้ที่ช่วยเพิ่มความคล่องตัวในการจัดเก็บและกู้คืนเซสชัน bash หรือไม่? ฉันต้องการทำ EG
$ KUNG=pao
$ foo commit # saves the current environment
# as an anonymous changeset from the previous savepoint
$ SCHNICKENS="What's up, doc?"
$ SCHNICKENS="$(echo Schmoove)"
$ unset KUNG
$ foo diff HEAD # outputs a $(set) of commands
# which comprise the current changeset
unset KUNG;
SCHNICKENS="Schmoove"
$ foo branch edit-su-question # creates a new branch with that name
$ foo merge master # updates the current environment
# with any changes made to ~/.bashrc
# since it was branched or last merged
$ function fierce_fist_of_foo {
cut -f 2 | xargs -I {} bash foo {} '>>' ffof.out;
}
$ foo checkout master # switches current branch
# to the one checked out by ~/.bashrc
$ foo commit -m "learned the fierce_fist_of_foo technique"
# new interactive `bash` invocations now load that function
ให้ความคล้ายคลึงกับ git
ชุดคำสั่งฉันถูกล่อลวงให้ใช้คำลามกหรือชื่ออัลบั้ม Smashing Pumpkins เป็นชื่อคำสั่งในตัวอย่างนี้ แต่ดีนะ foo
มันคือ.
ฉันใช้ความเชื่อมั่นของฉันในความสามารถทำงานได้ของแนวคิดนี้ส่วนใหญ่เกี่ยวกับข้อสันนิษฐานที่ใช้ set
จาก bash shell จะให้สคริปต์ที่สามารถเรียกคืนได้ซึ่งจะกู้คืนสภาพแวดล้อมนั้น ฉันไม่แน่ใจว่านี่เป็นเรื่องจริงทั้งหมดหรือไม่
อย่างไรก็ตาม มีบางอย่างที่ออกมาเป็นแบบนี้หรือเปล่า? คะแนนพิเศษหากใช้จริง git
เป็นส่วนหนึ่งของการดำเนินการ เช่นฉันจะยอมรับคำตอบนั้น เนื่องจากคุณอยู่ในนั้นสำหรับจุดและทั้งหมด
env
คุณจะไม่ได้คำจำกัดความของฟังก์ชั่นหรือสิ่งอื่น ๆ ที่ฉันไม่แน่ใจ ยังต้องชำระเงินจะต้องทำunset
สำหรับ-
เส้นตรงในส่วนต่าง ฉันจินตนาการการแยกวิเคราะห์ผลลัพธ์จากset
และการสร้างชุดของการมอบหมายunset
s,function
คำแถลง ฯลฯ ที่จำเป็นต้องเรียกใช้การเปลี่ยนแปลงนั้น สิ่งอื่น ๆ เช่นshopt
ควรรวมไว้ด้วย