如何使用bash脚本运行命令来更改远程主机中的文件文本文件?

时间:2014-04-25 06:44:53

标签: bash ubuntu ssh

您好我正在运行bash脚本来更改文本文件上的关键字,但它位于@我的远程主机(10.101.5.91),我尝试使用此示例代码,但它不会更改任何内容文件,也没有错误显示。


changeConfig(){
    shopt -s globstar
    for file in $1
    do
            sed -i.bak 's/$2/$3/g' $file
    done
}

remoteFunction(){
    ssh ppuser@10.101.5.91 "`declare -f changeConfig`; changeConfig /var/www/file.txt
}

remoteFunction

任何人都可以帮助我吗?谢谢.... :)

1 个答案:

答案 0 :(得分:0)

以下内容将更改该关键字

#!/bin/bash
file='/path/on/remotehost/filename'      #PATH on remote host
ssh ppuser@10.101.5.91 "sed -i.bak "s/$2/$3/g" $file"    #Would work without password if ssh keys exchanges else will ask $ wait for password

不知道你在使用$1做了什么。