Сессия SSH не экспортирует функции

У меня есть куча функций, хранящихся в ~/.bash_functions, которая получена ~/.bashrc при запуске оболочки. Файл экспортирует все такие функции:

# Find functions in this script based on a grep search, and export them.
grep ^'[[:alnum:]]' ~/.bash_functions |
  grep '()' |
  cut -d'(' -f1 | 
  while read function
do
  export -f "$function"
done
unset function

Это отлично работает на локальной оболочке, но не через SSH. Ни одна из функций фактически не экспортируется (проверена с помощью declare -F). Однако, если я поместил echo "$function" в цикл, он печатает все имена функций, поэтому я знаю, что единственная часть цикла, которая не работает, - это строка export.

Функции экспортируются правильно, если Я использую export -f в сеансе SSH или добавляю строку export -f для каждой отдельной функции в файле.

Я использую 14.04 с Bash 4.3.11, а SSH-клиент Termus на Android.

Изменить: даже если я добавлю declare -F в нижней части ~/.bash_functions, функции отображаются как не экспортированные.

Edit: Я только понял, что в локальная сессия, некоторые из моих функций не экспортируются, казалось бы, случайным образом, но я не могу найти никаких доказательств ошибки. Я делаю больше исследований ...

1
задан 27 July 2016 в 22:53

0 ответов

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

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