ทุกคนสามารถอธิบายความแตกต่างระหว่างการประกาศและเรียงพิมพ์พร้อมตัวอย่างชีวิตจริงได้ไหม
ทุกคนสามารถอธิบายความแตกต่างระหว่างการประกาศและเรียงพิมพ์พร้อมตัวอย่างชีวิตจริงได้ไหม
คำตอบ:
ในbash, typesetและdeclareจะตรงเดียวกัน ข้อแตกต่างtypesetคือถือว่าล้าสมัย
typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
Set variable values and attributes.
Obsolete. See `help declare'.
man page แสดงรายการในลมหายใจเดียวกัน:
declare [-aAfFgilrtux] [-p] [name[=value] ...]
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
Declare variables and/or give them attributes.
typesetเป็นแบบพกพาหอยอื่น ๆ ksh93ยกตัวอย่างเช่น หากคุณต้องการพกพาข้ามเชลล์ให้ใช้typeset(และตรวจสอบให้แน่ใจว่าวิธีที่คุณโทรหาเป็นแบบพกพา) declareหากคุณไม่สนใจเกี่ยวกับการพกพาเช่นการใช้งาน
help typeset man typeset
typesetถูกพิจารณาว่าล้าสมัยหรือไม่?
ฉันรู้กรณีที่declareมีประโยชน์ในการหลีกเลี่ยงความชั่วeval: ตัวแปรทางอ้อม :
$ var=foo
$ x=var
$ declare "$x=another_value"
$ echo $var
another_value
typesetและdeclareอย่างไร