Isto é especificamente sobre bash
's declare
- o caso geral é tratado de forma bastante exaustiva nesta resposta (que menciona "a // typeset
saída de , , " mas não a de ).declare
export -p
ksh93
mksh
zsh
bash
Dada uma variável local/exportada/array/assocative-array (mas talvez não nameref) foo
, a saída de declare -p foo
in é bash
garantidamente reutilizável por bash
? A documentação oficial não menciona nada parecido:
A
-p
opção exibirá os atributos e valores de cada arquivoname
. Quando-p
é usado comname
argumentos, opções adicionais, além de-f
e-F
, são ignoradas.
E eu olhei através doCHANGES
e vi isso sobre funções :
This document details the changes between this version, bash-2.05-beta1,
and the previous version, bash-2.05-alpha1.
...
b. When `set' is called without options, it prints function definitions in a
way that allows them to be reused as input. This affects `declare' and
`declare -p' as well.
E para alguns outros comandos, -p
destina-se a produzir resultados reutilizáveis:
s. The `shopt' `-p' option now causes output to be displayed in a reusable
format.
...
u. `umask' now has a `-p' option to print output in a reusable format.
E o FAQ do Bash de Chet Ramey tem:
Bash-2.0 contained extensive changes and new features from bash-1.14.7.
Here's a short list:
...
most builtins use -p option to display output in a reusable form
(for consistency)
Mas nada que eu possa encontrar sobre declare -p
variáveis.