![](/img/trans.png)
[英]How can I copy file from local server to remote with creating directories which absent via SSH?
[英]How can i modify a remote file over ssh with sed?
我正在嘗試在遠程服務器上的 JS 文件頂部添加一行,我要運行的命令是:
sed -i "1i\const test = require(\'../../../test/test.json\');" /opt/test.js
所以我嘗試了以下方法:
ssh user@host "sed -i "1i\const test = require(\'../../../test/test.json\');" /opt/test.js"
由於“(”和“)”,這給了我一個錯誤,所以我在它們之前添加了一個“\”:
ssh user@host "sed -i "1i\const test = require\(\'../../../test/test.json\'\);" /opt/test.js"
但是我仍然收到錯誤:
bash: -c: line 0: syntax error near unexpected token `('
我怎樣才能解決這個問題?
與其使用sed -i
(它只是在后台管理一個臨時文件),不如使用ed
並將腳本(通過ssh
)提供給ed
的標准輸入。
ssh user@host 'ed /opt/test.js' <<'EOF'
1i
const test = require('../../../test/test.json');
.
wq
EOF
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.