Всё есть строка
Я просто хотел узнать, как передать bash-функцию как параметр в подпроцесс ( export -f function_name ) .
my_func() { echo hello; }
export -f my_func
python -c 'import os; os.system("my_func")' #печатает "hello"
echo 1 2 | xargs -n 1 bash -c my_func #печатает "hello" 2 раза
А оказалось, что ещё можно bash-функции сериализовать и выполнить через ssh на другом хосте.
foo() { echo "hello from $(hostname)"; }
ssh host "$(declare -f foo) ; foo"
( отсюда: http://unix.stackexchange.com/questions/22796/can-i-export-functions-in-bash )
my_func() { echo hello; }
export -f my_func
python -c 'import os; os.system("my_func")' #печатает "hello"
echo 1 2 | xargs -n 1 bash -c my_func #печатает "hello" 2 раза
А оказалось, что ещё можно bash-функции сериализовать и выполнить через ssh на другом хосте.
foo() { echo "hello from $(hostname)"; }
ssh host "$(declare -f foo) ; foo"
( отсюда: http://unix.stackexchange.com/questions/22796/can-i-export-functions-in-bash )