我有一个命令,我检查是否存在某个数据库 我想在本地和通过远程服务器上的ssh进行 命令如下:
mysqlshow -uroot | grep -o $DB_NAME
我的问题是我是否可以对2个变量使用相同的命令,
唯一的区别是ssh <remote-server>
在一个之前?
CLI中!!
变量扩展的内容:
LOCAL_DB=mysqlshow -uroot | grep -o $DB_NAME
REMOTE_DB=ssh <remote-host> !!
答案 0 :(得分:1)
cmd="whoami"
eval $cmd
ssh remote@host $cmd
eval
将在字符串$cmd
本地
另外,对于检查表格,通过查询明确要求表格名称更安全
SHOW TABLES LIKE 'yourtable';
和数据库:
SHOW DATABASES LIKE 'yourdb';
答案 1 :(得分:0)
您可以在.bashrc
中创建一个函数,例如:
function showrdb() {
ssh remote@host "$1"
}
export -f showrdb
然后来源.bashrc
并调用函数,如;
showrdb "command you want to run on remote host"
或者您可以创建一个包含相同功能(或仅ssh
行)的shell脚本,并将脚本调用为
./scriptname "command to execute of remote host"
但对我来说,舒适程度更多是第一种方法。