env
отображает список всех переменных среды
$ env |wc -l
63
Общие переменные среды = 63
Согласно help export
-p display a list of all exported variables and functions
$export -p |wc -l
63
Среда variables+lines functions=63 затем строки functions=0
set
disply список переменных среды + окружают variables+functions
$set |wc -l
4772
Затем для показа только переменных (среда variables+shell переменные)
$(set -o posix ;set)|wc -l
172
Это означает строки функций = 4772-172 не нуль, объясните мне, что происходит?
Беспорядок является результатом того, которое export -p
значением по умолчанию только показывает экспортируемый переменные (declare -x
), не функции .
Для отображения экспортируемого функции (declare -fx
) использование export
:
export -fp
Также просто для уточнения, целое число строк для получения количества функций является абсолютно неправильным, поскольку функциональные определения охватывают несколько строк (даже если оно определило в одной строке, в то время как объявление, set
показывает им в нескольких строках).