Adakah yang bisa menjelaskan perbedaan antara menyatakan dan mengeset dengan contoh kehidupan nyata.
Adakah yang bisa menjelaskan perbedaan antara menyatakan dan mengeset dengan contoh kehidupan nyata.
Jawaban:
Di bash
, typeset
dan declare
persis sama. Satu-satunya perbedaan adalah yang typeset
dianggap usang.
typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
Set variable values and attributes.
Obsolete. See `help declare'.
Halaman manual bahkan mencantumkannya dalam napas yang sama:
declare [-aAfFgilrtux] [-p] [name[=value] ...]
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
Declare variables and/or give them attributes.
typeset
portabel untuk beberapa kerang lainnya, misalnya ksh93
,. Jika Anda mengincar portabilitas shell-silang, gunakan typeset
(dan pastikan cara Anda menyebutnya portabel). Jika Anda tidak peduli dengan portabilitas seperti itu, gunakan declare
.
help typeset
, bukan di man typeset
.
typeset
dianggap usang?
Saya tahu kasus di mana declare
berguna untuk menghindari kejahatan eval
: tipuan variabel :
$ var=foo
$ x=var
$ declare "$x=another_value"
$ echo $var
another_value
typeset
dan declare
?