ทุกคนสามารถอธิบายความแตกต่างระหว่างการประกาศและเรียงพิมพ์พร้อมตัวอย่างชีวิตจริงได้ไหม
ทุกคนสามารถอธิบายความแตกต่างระหว่างการประกาศและเรียงพิมพ์พร้อมตัวอย่างชีวิตจริงได้ไหม
คำตอบ:
ใน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
อย่างไร