带 ssh 的 bash 功能

imp*_*imp 2 ssh bash remote

我只是第一次进入 bash。

我将如何在此范围内的服务器上运行函数?drush 状态也仅适用于通过 ssh 连接的服务器。

#!/bin/bash

function test {
    drush status
}

function connect {
    ssh user@serveraddress 'test'

}

connect
Run Code Online (Sandbox Code Playgroud)

我知道您需要将远程代码放在 ssh user@server 'code here' 中,但是复杂的事情会与所有 '" 等混淆。例如,这应该回显服务器的所有 db 名称。

function connect {


    ssh user@serveraddress 
   '

    dbuser=user
    dbpass=pass
    DBS=`mysql -u$dbuser -p$dbpass -Bse 'show databases'| egrep -v 'information_sch$
    for db in $DBS; do
        echo "DB name -  $db"
    done

    '   
}


connect
Run Code Online (Sandbox Code Playgroud)

任何帮助链接表示赞赏,干杯

Mir*_*ici 5

您可以使用此处的文档:

ssh user@serveraddress <<"END"
dbuser=user
dbpass=pass
DBS=$(mysql -u$dbuser -p$dbpass -Bse 'show databases'| egrep -v 'information_sch$')
for db in $DBS; do
    echo "DB name -  $db"
done
END
Run Code Online (Sandbox Code Playgroud)

请参阅:http : //tldp.org/LDP/abs/html/here-docs.html