Каково различие между “экспортом-p” и “огибающими” командами?

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 не нуль, объясните мне, что происходит?

2
задан 18 October 2016 в 00:44

1 ответ

Беспорядок является результатом того, которое export -p значением по умолчанию только показывает экспортируемый переменные (declare -x), не функции .

Для отображения экспортируемого функции (declare -fx) использование export:

export -fp

Также просто для уточнения, целое число строк для получения количества функций является абсолютно неправильным, поскольку функциональные определения охватывают несколько строк (даже если оно определило в одной строке, в то время как объявление, set показывает им в нескольких строках).

2
ответ дан 2 December 2019 в 03:44

Другие вопросы по тегам:

Похожие вопросы: