До сих пор я думал, что точка с запятой в оболочке имеет (как-то) то же значение, что и разрыв строки. Поэтому я был удивлен, что для
alias <name>=<replacement text>; <name>
<name>
неизвестно, пока известно в следующей строке. csh
, tcsh
, sh
, ksh
И bash
ведут себя так же. По крайней мере, для csh
него не имеет значения, используется ли псевдоним непосредственно или сценарий получен перед точкой с запятой - псевдонимы неизвестны после, ;
но известны в следующей командной строке. Это ошибка или это поведение предназначено?