Böylece ne sunucu ne de istemciyi değiştirmek zorunda kalmadan ortam değişkenlerini ssh ile transfer etmenin bir yolunu buldum: bash / sh / csh / tcsh içinde ortam değişkenini SSH / quoting yoluyla aktarma
Ancak bunun gibi bash fonksiyonlarını da transfer edebilmek isterim:
$ myfunc() {
> echo Func $1
> }
$ export -f myfunc
$ parallel myfunc ::: a
Func a
İşlevler ssh ile aktarılmaz:
$ parallel -S server myfunc ::: a
bash: myfunc: command not found
$ parallel --env myfunc -S server myfunc ::: a
bash: line 2: myfunc: command not found
Ancak fonksiyonun içeriği hoş bir şekilde aktarılır:
$ parallel --env myfunc -S server echo \$myfunc ::: a
() { echo Func $1} a
Görünüşe göre şu anda tek yapmam gereken, bir şekilde bash etmenin $ myfunc fonksiyonunun myfunc işlevi olduğunu söylemek.
Bunu nasıl yapabilirim?
env_parallelGNU Parallel'den kullanın . İşlevlerden daha fazlası için çalışır.