OS X: O 'ls' pode mostrar links simbólicos quebrados?

5

Quando no Linux, eu gosto de ter \ls -l --color=auto show symlinks quebrados com texto vermelho para o nome do symlink e texto piscante para o linkee faltante. Mas no OS X, \ls -lG (a coisa mais próxima que eu posso encontrar) exibe links simbólicos quebrados e ininterruptos de forma idêntica.

Alguém sabe como exibir% s% de links simbólicos quebrados do OS X de forma diferente dos não-interrompidos? Não precisa ser exatamente a mesma exibição que o Linux, mas apenas algo para indicar o estado quebrado.

(Se for importante, também uso as opções ls e -A .)

    
por Venning 27.10.2015 / 23:18

1 resposta

4

Infelizmente, com o atual OSX (BSD) ls , isso parece não ser possível. Referindo-se à página man, estas são suas únicas opções:

LSCOLORS    The value of this variable describes what color to use for which
            attribute when colors are enabled with CLICOLOR.  This string is a
            concatenation of pairs of the format fb, where f is the foreground
            color and b is the background color.

            The color designators are as follows:
              a     black
              b     red
              c     green
              d     brown
              e     blue
              f     magenta
              g     cyan
              h     light grey
              A     bold black, usually shows up as dark grey
              B     bold red
              C     bold green
              D     bold brown, usually shows up as yellow
              E     bold blue
              F     bold magenta
              G     bold cyan
              H     bold light grey; looks like bright white
              x     default foreground or background

            Note that the above are standard ANSI colors.  The actual display may
            differ depending on the color capabilities of the terminal in use.

            The order of the attributes are as follows:
              1.   directory
              2.   symbolic link
              3.   socket
              4.   pipe
              5.   executable
              6.   block special
              7.   character special
              8.   executable with setuid bit set
              9.   executable with setgid bit set
              10.  directory writable to others, with sticky bit
              11.  directory writable to others, without sticky bit

            The default is "exfxcxdxbxegedabagacad", i.e. blue foreground and
            default background for regular directories, black foreground and
            red background for setuid executables, etc.

Então, a menos que haja algum truque não documentado para lidar com outros tipos de arquivos do que esta lista de 10, então sua melhor opção é instalar GNU Coreutils que contém o ls com o qual você está familiarizado, onde or órfão permite uma especificação de cor para seus links simbólicos quebrados na variável de ambiente LSCOLORS .

    
por 28.10.2015 / 00:10