Какова действительная форма псевдонимов? - PullRequest
0 голосов
/ 16 февраля 2020

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

1 Ответ

1 голос
/ 16 февраля 2020

Я заглянул в источник Bash, и комментарий @ chepner верный. Любые символы, которые не интерпретируются оболочкой, уже действительны. Поэтому такие вещи, как $, / и = не допускаются.

От общего. c, https://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz

/* Return 1 if STRING comprises a valid alias name.  The shell accepts
   essentially all characters except those which must be quoted to the
   parser (which disqualifies them from alias expansion anyway) and `/'. */
int
legal_alias_name (string, flags)
     const char *string;
     int flags;
{
  register const char *s;

  for (s = string; *s; s++)
    if (shellbreak (*s) || shellxquote (*s) || shellexp (*s) || (*s == '/'))
      return 0;
  return 1;
}
...