Как strace знает, как использовать / bin / echo вместо сбоев на встроенном

Когда я использую strace echo hello , я вижу, что он использует /bin/echo , но сначала нужно найти встроенное echo . Является ли функция strace пропускать встроенные команды? strace – версия 4.5.19

Я понимаю, что strace не будет работать со встроенными командами, как это работает на системных исполняемых файлах.

  • Как определить определенный системный вызов, вызванный или нет, во всем рабочем процессе?
  • Исключать PID при сравнении вывода strace
  • Поиск, где процесс читается в файле
  • где идут данные, записанные в дескриптор файла, который никогда не был открыт
  • Как я могу видеть события файлов всех процессов, соответствующих тем, у кого есть ключевое слово в пути?
  • BASH: проблемы с Fifo - кажется избирательным в отношении ввода
  • Почему я не могу подключить `strace` к процессу kworker?
  • SIGSEGV: 0x0000000000000000 in ?? ()
  • 2 Solutions collect form web for “Как strace знает, как использовать / bin / echo вместо сбоев на встроенном”

    Поскольку strace не является оболочкой, strace использует exec.

    Надеюсь, поможет.

    Когда вы вводите команду в оболочку (например, echo hello world ), оболочка интерпретирует эту команду и проверяет, можно ли использовать встроенную команду оболочки, прежде чем искать отдельный исполняемый файл.

    Когда вы используете strace , вы просите его найти исполняемый файл и запустить его от вашего имени. В отличие от оболочки, у strace нет встроенных собственных команд.

    Linux и Unix - лучшая ОС в мире.