Você misturou um pouco. Espaços não precisam ser escapados dentro de citações. E quando você expande uma variável contendo espaço, sempre cite-a.
keyLocation="/Users/vladimir/Google Drive/file.pem"
ssh -i "$keyLocation" [email protected]
Estou tendo problemas para passar um caminho como um argumento que possui um espaço interno.
keyLocation="/Users/vladimir/Google\ Drive/file.pem"
ssh -i $keyLocation [email protected];
Isso me dá o erro abaixo:
Warning: Identity file /Users/vladimir/Google not accessible: No such file or directory.
Basicamente, após a atribuição keyLocation se torna "/ Users / vladimir / Google Drive / file.pem" (não), então quando ele tenta usar $ keyLocation como um argumento, ele passa como
ssh -i /Users/vladimir/Google Drive/file.pem [email protected]
Como posso fazer o comando ssh reconhecê-lo como um caminho com um espaço interno?
Você misturou um pouco. Espaços não precisam ser escapados dentro de citações. E quando você expande uma variável contendo espaço, sempre cite-a.
keyLocation="/Users/vladimir/Google Drive/file.pem"
ssh -i "$keyLocation" [email protected]
Frank respondeu nos comentários:
$"$keyLocation"
Obrigado, Frank.
Para mim, armazenar o caminho em uma variável não funcionou.
Uma abordagem diferente é usar um link simbólico
ln -s ~/Google\ Drive/ Drive
Depois disso, você pode usar
ssh -i ~/Drive/file.pem [email protected]
Espero que ajude alguém!