ตัวแปรเชลล์ - มีขนาดจำกัดใช่ไหม

ตัวแปรเชลล์มีขนาดจำกัดหรือไม่ และขนาดสูงสุดที่ตัวแปรสามารถเก็บได้คือเท่าใด


person helpermethod    schedule 15.03.2010    source แหล่งที่มา
comment
คำตอบจะแตกต่างกันไปขึ้นอยู่กับเชลล์ที่คุณใช้ แต่หากต้องกังวลเกี่ยวกับขนาดของตัวแปรเชลล์ คุณควรใช้ภาษาสคริปต์ที่มีจุดประสงค์ทั่วไปมากกว่า เช่น Python หรือ Ruby   -  person mikerobi    schedule 16.03.2010
comment
+1 คำแนะนำที่ดี ฉันคิดว่าฉันกำลังเขียนสคริปต์ AWK สำหรับสิ่งนี้   -  person helpermethod    schedule 16.03.2010


คำตอบ (1)


ใช่พวกเขาสามารถเป็นได้ ขึ้นอยู่กับระบบปฏิบัติการของคุณและ/หรือรสชาติและเวอร์ชันของเชลล์ การใช้ไฟล์ชั่วคราวจะปลอดภัยกว่าหากคุณคาดว่าค่าตัวแปรจะเกิน 1-4kB

แก้ไข

ดูเพิ่มเติมที่ ขนาดสูงสุดของค่าตัวแปรสภาพแวดล้อมคือเท่าใด ?; สิ่งนี้เกี่ยวข้องกับข้อจำกัดของระบบปฏิบัติการเกี่ยวกับขนาดทั้งหมด environ (ขนาดสะสมของ VARIABLE=VALUEs ทั้งหมด) ซึ่งส่งผลต่อตัวแปร exported แต่เชลล์เองก็อาจมีข้อจำกัดของตัวเองอีกครั้ง ขนาดตัวแปรทั้งหมด (รวมถึง non-exported)

ดังที่กล่าวไว้ เว้นแต่คุณจะคำนึงถึงความสามารถในการพกพา GNU bash ค่อนข้างดีเกี่ยวกับการไม่จำกัดขนาดของตัวแปร (ไม่ใช่ exported) และมีแนวโน้มที่จะเก็บข้อมูลจำนวนเท่าใดก็ได้ตราบใดที่ malloc สามารถค้นหาหน่วยความจำเพียงพอและพื้นที่ที่อยู่ที่ต่อเนื่องกัน :)

person vladr    schedule 15.03.2010