ฉันต้องการทราบวิธีล้างตัวแปรทั้งหมดที่ฉันกำหนดไว้ใน command prompt โดยไม่ปิดเทอร์มินัล
ตัวอย่างเช่นถ้าฉันตั้งค่าตัวแปรใน command prompt เป็น:
$ a=1
ตอนนี้ฉันต้องการลบตัวแปร$a
(และตัวแปรอื่น ๆ อีกมากมายที่กำหนดในลักษณะที่คล้ายกัน) โดยไม่ต้องปิดสถานี ฉันสามารถใช้unset
แต่มันจะวุ่นวายถ้าไม่มีขนาดใหญ่ ของตัวแปร
ทำไมคุณต้องการทำเช่นนั้น?
—
Hauke Laging
@HaukeLaging ฉันทำงานกับอาร์เรย์โดยใช้สคริปต์ บางครั้งฉันก็เพิ่มองค์ประกอบหนึ่งเข้าไป เพราะที่ฉันไม่สามารถเรียกใช้สคริปต์ด้วยค่าเก่า (ตั้งแต่เปลี่ยนอาร์เรย์) ฉันต้องปิดเครื่องและเริ่มเซสชันใหม่อีกครั้ง ฉันหวังว่าฉันชัดเจน หากไม่ได้โปรดแจ้งให้เราทราบ :)
—
เอ็ดเวิร์ด Torvalds
@muru - เขาได้รับรายการบันทึกไว้
—
mikeserv
$var
ด้วยvar=$(declare -p +F);
แล้วผ่านที่เป็นอาร์กิวเมนต์ฟังก์ชั่นที่ไม่หนึ่งecho "${2%%=*}".
คำตอบที่มีปัญหาน้อยที่มีขนาดที่แท้จริง - แต่มันควรจะทำงานถ้าสภาพแวดล้อมของคุณไม่ได้เป็นอย่างมาก
ฉันไม่รู้ว่าคุณกำลังทำอะไรอยู่ คุณกำลังพูดถึงเปลือกโต้ตอบหรือสคริปต์? ตัวแปรที่ตั้งค่าในสคริปต์ที่เรียกใช้จากเชลล์แบบโต้ตอบไม่มีผลกับเชลล์หลัก บอกเราว่าคุณต้องการที่จะประสบความสำเร็จไม่ได้ซึ่งปลายตายคุณใฝ่หากำลัง
—
Gilles 'หยุดชั่วร้าย'
exec "$0"
บางที - แต่มันยากที่จะบอกสิ่งที่คุณหมายถึงทั่วโลก