简体   繁体   English

之后如何使用 sed shell 命令在服务器上执行 ssh

[英]how to ssh on a server with sed shell command afterwards

I'm trying to shh on a server and execute a sed command afterwards.我试图在服务器上嘘,然后执行 sed 命令。 Sadly I get a weird error.可悲的是,我遇到了一个奇怪的错误。

If i run this command it works如果我运行这个命令它工作

sed -f <(printf "s/${DOMAIN}\.%s/www.&.${FOO}/g\n" ${LANG_KEYS}) ${DB_PATH_TO}${DB_NAME}.sql > ${DB_PATH_TO}new-${DB_NAME}.sql

If i however try to run it with a ssh it does not, i believe it is because of the quotes but i'm unsure of how to fix it.但是,如果我尝试使用 ssh 运行它,它不会,我相信这是因为引号,但我不确定如何修复它。

ssh ${TARGET_USER}@${TARGET_IP} -i ${TARGET_PRIVATE_KEY} -p ${TARGET_PORT} "
    sed -f <(printf "s/${DOMAIN}\.%s/www.&.${FOO}/g\n" ${LANG_KEYS}) ${DB_PATH_TO}${DB_NAME}.sql > ${DB_PATH_TO}new-${DB_NAME}.sql
"

Output: Output:

bash: -c: line 1: unexpected EOF while looking for matching `)'
bash: -c: line 2: syntax error: unexpected end of file 
No such file or directory

Try that:试试看:

ssh ${TARGET_USER}@${TARGET_IP} -i ${TARGET_PRIVATE_KEY} -p ${TARGET_PORT} '
    sed -f <(printf "s/${DOMAIN}\.%s/www.&.${FOO}/g\n" ${LANG_KEYS}) ${DB_PATH_TO}${DB_NAME}.sql > ${DB_PATH_TO}new-${DB_NAME}.sql
'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM