O que significa “sudo / bin / ls% s% foo”?

0

Estou tentando entender o comando acima.

sudo /bin/ls %s %file_path
  1. O que é que % faz? É algum tipo de mecanismo de substituição?

  2. O que o sudo /bin/ls faz?

por JavaDeveloper 16.02.2016 / 22:31

1 resposta

1

% no bash scripting significa ancorar, mas às vezes pode variar entre programas o que faz como um parte de algum parâmetro ou outro . Para ls , ele não faz nada. Para o sudo, faz algumas coisas, mas não neste contexto; não faz sentido para mim ... este comando simplesmente tenta (como root; para o registro, você quase nunca tem que rodar ls como root, existem pouquíssimos lugares onde nomes de arquivos não podem ser acessado por usuários normais através de ls ) diretórios de pesquisa% s e% foo para arquivos, e deve nos fornecer o resultado de "ls não pode acessar% s: Nenhum arquivo ou diretório" e o mesmo para% foo. (Nunca poderá haver diretório% s a menos que você o tenha criado)

Para scripts, faça o seguinte.

De link :

Ancoragem Além disso, você pode "ancorar" uma expressão: Um # (hashmark) indicará que sua expressão é comparada com a parte inicial da sequência, um% (sinal de porcentagem) fará isso para a porção final.

MYSTRING=xxxxxxxxxx
echo ${MYSTRING/#x/y}  # RESULT: yxxxxxxxxx
echo ${MYSTRING/%x/y}  # RESULT: xxxxxxxxxy

(O que o código está fazendo é que ele está trocando o primeiro ou o último "x" por um "y")

    
por 16.02.2016 / 22:45

Tags