Определение функции влияет только на текущий экземпляр bash. Когда вы пишете
echo "myfunction ." | bash
, вы запускаете другой экземпляр bash. Вам нужно будет определить функцию в этом другом экземпляре.
Если у вас есть строка, содержащая имя функции и аргументы (если это необходимо), или, в более общем смысле, любую строку, содержащую исходный код оболочки, который вы хотите выполнить, используйте встроенный eval.
my_snippet='myfunction .'
eval "$my_snippet"
Если вы определяете функции в своем .bashrc, они доступны только в интерактивных оболочках, а не в скриптах.
[d4 ] Команда . (почти) эквивалентна source и не имеет ничего общего с ., что означает текущий каталог.Установка синаптической формы Ubuntu Software Center
В Synaptic выберите bcmwl-kernel-source и bcmwl-sta-source
Затем установите его.
Установка синаптической формы Ubuntu Software Center
В Synaptic выберите bcmwl-kernel-source и bcmwl-sta-source
Затем установите его.
Установка синаптической формы Ubuntu Software Center
В Synaptic выберите bcmwl-kernel-source и bcmwl-sta-source
Затем установите его.
Установка синаптической формы Ubuntu Software Center
В Synaptic выберите bcmwl-kernel-source и bcmwl-sta-source
Затем установите его.
Установка синаптической формы Ubuntu Software Center
В Synaptic выберите bcmwl-kernel-source и bcmwl-sta-source
Затем установите его.
Установка синаптической формы Ubuntu Software Center
В Synaptic выберите bcmwl-kernel-source и bcmwl-sta-source
Затем установите его.