Eu estava tentando criar um link simbólico usando o seguinte comando:
ln -s "~/Foo Bar/" Foo
... mas não funcionou (ou seja, quando vou ao localizador e tento clicar duas vezes nele, ele indica que está apontando para um caminho inválido e solicita que eu exclua o alias ou corrija-o). Eu tive que renomear a pasta FooBar
e, em seguida, execute o seguinte comando:
ln -s ~/FooBar/ Foo
Como posso criar o link sem precisar remover o espaço do nome da pasta?
Estou procurando uma maneira de fazer isso no Terminal e não na interface do usuário do Finder.
ln -s
faz links simbólicos. O Finder cria aliases. Eles são quase idênticos em uso prático e comum, mas é importante reconhecer que são diferentes . Os links simbólicos apontam para um caminho de diretório, enquanto os aliases apontam para um arquivo. Se você apontar para o mesmo arquivo e mover o arquivo para uma pasta diferente, crie um novo arquivo na pasta antiga, o alias apontará para o original movido e o link simbólico apontará para o novo arquivo.ln -s ~/Foo<tab>
(em que <tab> indica a tecla ⇥ (guia) real do teclado), se houver apenas uma pasta que comece com "Foo"~
, ela será automaticamente ativada. expanda o caminho para~/Foo\ Bar/
.Respostas:
As aspas estão impedindo
~
de serem expandidas para sua pasta pessoal, portanto, você precisa citar apenas a parte com o espaço nela:Nota: exatamente quanto é citado não importa, desde que o espaço esteja na parte citada e o / não esteja.
~/Foo" "Bar/
,~/"Foo Bar"/
,~/Fo"o B"ar/
Etc, são todos equivalentes. Além disso, aspas simples e duplas têm o mesmo efeito nos espaços (embora sejam diferentes em outros caracteres), portanto~/'Foo Bar/'
,~/Foo' 'Bar/
etc também funcionariam.Você também pode usar uma fuga para impedir que o espaço seja tratado como um separador:
fonte
"$HOME/Foo Bar/"
.~
, ao contrário ,$HOME
deve estar entre aspas duplas para evitar confusão se o diretório inicial contiver espaços ou outros caracteres estranhos."$HOME/Foo Bar/"
(como você sugere),"$HOME"/Foo" "Bar/
,"$HOME"/Foo\ Bar/
, etc vai funcionar.Eu mesmo testei. Não tenho nenhum problema com um espaço:
sl mostra:
$ linkToFoo_Bar -> /Users/joe/test/foo bar/
e funciona no terminal e localizador sem problemas.fonte
~
ajudante.