Fix sed command for Solaris
"sed -i" is specific to GNU sed and is not a posix standard option. The default sed command in Solaris is not GNU sed though it is possible to install the GNU-sed which includes /usr/bin/gsed
This commit is contained in:
parent
3d68e16f1b
commit
b8197a65b4
@ -5,14 +5,14 @@ module VagrantPlugins
|
||||
module Cap
|
||||
class RemovePublicKey
|
||||
def self.remove_public_key(machine, contents)
|
||||
# TODO: code is identical to linux/cap/remove_public_key
|
||||
# "sed -i" is specific to GNU sed and is not a posix standard option
|
||||
contents = contents.chomp
|
||||
contents = Vagrant::Util::ShellQuote.escape(contents, "'")
|
||||
|
||||
machine.communicate.tap do |comm|
|
||||
if comm.test("test -f ~/.ssh/authorized_keys")
|
||||
comm.execute(
|
||||
"sed -i '/^.*#{contents}.*$/d' ~/.ssh/authorized_keys")
|
||||
"cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.temp && sed '/^.*#{contents}.*$/d' ~/.ssh/authorized_keys.temp > ~/.ssh/authorized_keys && rm ~/.ssh/authorized_keys.temp")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user