Общий правило об алиасах заключается в том, что если у вас есть вопрос о том, как их использовать (или они достаточно для вашей цели), вы должны использовать функцию вместо этого. Функция дает вам все возможности (значительно более, по этому вопросу), и не требует какого-либо квотирования/вытекающего синтаксис:
clall() { clear && printf '\033[3J'; }
Тем не менее, один способ указать псевдоним вы хотите это следующий Баш-расширенный синтаксис:
# use $'' to make \' and '' valid/meaningful
alias clall=$'clear && printf \'\\033[3J\''
... который использует $''
, чтобы одиночные кавычки (и обратные косые) экранировать в одинарные кавычки; под нормальным ''
цитированием, содержащими обратную косую черту, являются буквальными. Более POSIX-й подход:
# use '"'"' to put a literal single-quote inside syntactic single-quotes
alias clall='clear && printf '"'"'\033[3J'"'"''
... или, если (как здесь), вы не имеете любой синтаксис, который особенного в двойных кавычках:
# ...or just use double quotes for the whole thing, absent a reason not to
# ...using command substitution, paramater expansion, etc. would be such a reason.
alias clall="clear && printf '\033[3J'"
Спасибо вам большое – user2567338
Если это отвечает на ваш вопрос в полном объеме, пожалуйста, установите флажок рядом с ответом, чтобы отметить вопрос. –