我只是第一次进入 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)
任何帮助链接表示赞赏,干杯
您可以使用此处的文档:
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