在远程服务器上执行带有参数的bash脚本函数

时间:2015-04-08 14:54:51

标签: bash

我在脚本中有一个本地函数[check()],它接受参数[check CCR]并将输出存储到全局变量[$ value]中。我想用远程机器上的参数执行该函数。这就是我所拥有的:

value=""

check() {
        exists=$(ps aux | grep "pf=" | grep -v grep | awk '{print $12}' | grep PT | grep $1 | tail -1 | awk -F= '{print $2}' | awk -F/ '{print $7}' | awk -F_ '{print $2}' | ( read x; echo ${x:0:3} ))

        if [ -z "$exists" ]; then
                value="false"
        elif [ $exists == $1 ]; then
                value="true"
        else
                value="false"
        fi
}

#check CCR
ssh remote@192.168.183.90 "$(typeset -f);check CCR"
echo $value

我没有收到任何输出。请指教。

1 个答案:

答案 0 :(得分:0)

基本上你可以执行这样的多行脚本:

ssh user@host <<'EOF'
function foo() {
    echo "hello $1"
}

foo bar
EOF
相关问题