Bất cứ ai cũng có thể giải thích sự khác biệt giữa khai báo và sắp chữ với các ví dụ thực tế.
Bất cứ ai cũng có thể giải thích sự khác biệt giữa khai báo và sắp chữ với các ví dụ thực tế.
Câu trả lời:
Trong bash
, typeset
và declare
hoàn toàn giống nhau. Sự khác biệt duy nhất là typeset
được coi là lỗi thời.
typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
Set variable values and attributes.
Obsolete. See `help declare'.
Trang người đàn ông thậm chí liệt kê chúng trong cùng một hơi thở:
declare [-aAfFgilrtux] [-p] [name[=value] ...]
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
Declare variables and/or give them attributes.
typeset
là di động cho một số vỏ khác, ví dụ , ksh93
. Nếu bạn đang nhắm đến tính di động xuyên vỏ, hãy sử dụng typeset
(và đảm bảo rằng cách bạn đang gọi nó là di động). Nếu bạn không quan tâm đến tính di động như vậy, hãy sử dụng declare
.
help typeset
, không phải trong man typeset
.
typeset
bị coi là lỗi thời?
Tôi biết một trường hợp declare
hữu ích để tránh điều ác eval
: biến đổi không định hướng :
$ var=foo
$ x=var
$ declare "$x=another_value"
$ echo $var
another_value
typeset
và declare
?