Como strace sabe usar / bin / echo em vez de falhar em um built-in

0

Quando eu faço strace echo hello , vejo que está usando /bin/echo , mas o echo interno deve ser encontrado primeiro. É uma funcionalidade de strace para pular comandos internos? strace - versão 4.5.19

Eu entendo que strace não funcionará em comandos embutidos da maneira como funciona em executáveis do sistema.

    
por Gregg Leventhal 10.07.2013 / 15:22

2 respostas

7

Como o strace não é um shell, o strace usa exec.

Espero que ajude.

    
por 10.07.2013 / 15:31
3

Quando você digita um comando no shell (por exemplo, echo hello world ), o shell interpreta esse comando e verifica se um comando interno do shell pode ser usado antes de procurar um executável separado.

Quando você usa strace , está pedindo para localizar um executável e executá-lo em seu nome. Ao contrário do shell, strace não possui comandos internos próprios.

    
por 10.07.2013 / 15:34