Справочник по консольным командам Toybox для Android 12


  Ver.0.8.4     Ver.0.8.9     Pending  

Путь: Toys/POSIX, команды версии: Ver.4     Ver.9


echo

Комментарии в файле echo.c :

usage: echo [-neE] [ARG...]

Запишите каждый аргумент в stdout, один пробел между ними, а затем новую строку.
  • -n Без завершающей новой строки
  • -E Печатать escape-последовательности буквально (по умолчанию)
  • -e Обрабатывать следующие escape-последовательности: \\ Обратная косая черта \0NNN Восьмеричный (1-3 цифры) \xHH Шестнадцатеричный (1-2 цифры) \a Оповещение (звуковой сигнал/мигание) \b Backspace \c Остановить здесь (нет \n) \f Подача страницы \n Новая строка \r Возврат каретки \t Горизонтальная вкладка \v Вертикальная вкладка

  • usage: echo [-neE] [ARG...]

    Write each argument to stdout, one space between each, followed by a newline.
  • -n No trailing newline
  • -E Print escape sequences literally (default)
  • -e Process the following escape sequences: \\ Backslash \0NNN Octal (1-3 digit) \xHH Hex (1-2 digit) \a Alert (beep/flash) \b Backspace \c Stop here (no \n) \f Form feed \n Newline \r Carriage return \t Horizontal tab \v Vertical tab

  • Исходный текст в файле echo.c

    #define FOR_echo
    #include "toys.h"
    
    void echo_main(void)
    {
      int i = 0;
      char *arg, *c, out[8];
    
      while ((arg = toys.optargs[i])) {
        if (i++) putchar(' ');
    
        // Should we output arg verbatim?
    
        if (!FLAG(e)) {
          xprintf("%s", arg);
          continue;
        }
    
        // Handle -e
    
        for (c = arg; *c; ) {
          unsigned u;
    
          if (*c == '\\' && c[1] == 'c') return;
          if ((u = unescape2(&c, 1))<128) putchar(u);
          else printf("%.*s", (int)wcrtomb(out, u, 0), out);
        }
      }
    
      // Output "\n" if no -n
      if (!FLAG(n)) putchar('\n');
    }