Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 之后如何使用sed shell命令在服务器上进行ssh_Bash_Shell_Ssh_Sed - Fatal编程技术网

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

Bash 之后如何使用sed shell命令在服务器上进行ssh,bash,shell,ssh,sed,Bash,Shell,Ssh,Sed,我试图在服务器上嘘嘘,然后执行sed命令。 不幸的是,我犯了一个奇怪的错误 如果我运行这个命令,它就会工作 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 试试看: ssh ${TARGET_USER}@${TARGET_IP} -i ${TARGET

我试图在服务器上嘘嘘,然后执行sed命令。 不幸的是,我犯了一个奇怪的错误

如果我运行这个命令,它就会工作

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
试试看:

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
'
ssh${TARGET\u USER}@${TARGET\u IP}-i${TARGET\u PRIVATE\u KEY}-p${TARGET\u PORT}
sed-f${DB_PATH_TO}new-${DB_NAME}.sql
'

您是否作为here文档的一部分运行该命令?如果您在ssh之后将其作为标准命令运行,那么变量将不会在远程服务器上扩展。如果这有帮助,我将在jenkins上运行它。不知道你说的“here doc”是什么意思。顺便说一句,这些变量确实有效。这不是问题所在。你的引号乱七八糟。第二行(
${DOMAIN}
${FOO}
,…)上的变量应该在本地或远程主机上展开吗?尝试使用单引号
而不是双引号
在第一行和第三行。遗憾的是这不起作用。我的意思是它解决了一个问题。但是现在它说
/var/www/foobar/sed/test.txt>/var/www/foobar/sed/new-2.txt:没有这样的文件或控制器,这是另一个问题。复制命令
sed…
并直接在服务器上运行/调试它。
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
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
'