Eu não tenho um Mac, então não posso testá-lo, mas a solução deve ser algo como:
open "'pwd'"
Nem todos os programas recebem sua entrada de stdin
, o que seria necessário para o pipe funcionar.
Isso é específico para o MacOS, mas parece muito unix para entrar na comunidade Pergunte diferente .
No Terminal, posso pwd
, copiar o resultado, digitar open
e colar o resultado e a pasta será aberta no Finder, mas
pwd | open
imprime a documentação de ajuda para open
. Por que não funciona o encanamento, mas colando?
O utilitário open
no Mac não lê a entrada padrão, mas recebe seus argumentos da linha de comando.
Para abrir o diretório de trabalho atual, você teria que dizer
$ open "$( pwd )"
ou
$ open "$PWD"
ou simplesmente
$ open .
como apontado nos comentários abaixo.
Com o -f
flag, open
pode ser feito para ler a partir da entrada padrão, mas apenas para abrir o que for recebido no editor de texto padrão.
As outras respostas estão totalmente corretas. Se você quiser uma abreviação fácil , você pode fazer como @ fd0 proposto , e apenas use
open .
para abrir o diretório atual. O diretório atual é denominado .
(um único ponto) no Unix, o diretório pai ..
(dois pontos).
pwd | xargs open
xargs
empurra sua entrada padrão nos argumentos de seu primeiro argumento.
Você pode usar um pipeline com -f
para abrir o conteúdo do comando anterior em um Editor de Texto. Isso só se aplica a editores de texto. Para outros aplicativos, você precisará usar a sugestão nas outras perguntas.
Por exemplo:
ls | open -f
Isso abriria seu editor de texto padrão com o conteúdo da saída ls
.
Você também pode especificar o editor de texto para usar -a
:
ls | open -a 'Atom' -f
Isso abriria o Atom com o conteúdo de saída ls
.