2016-11-26 6 views

ответ

3

Общий правило об алиасах заключается в том, что если у вас есть вопрос о том, как их использовать (или они достаточно для вашей цели), вы должны использовать функцию вместо этого. Функция дает вам все возможности (значительно более, по этому вопросу), и не требует какого-либо квотирования/вытекающего синтаксис:

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'" 
+0

Спасибо вам большое – user2567338

+0

Если это отвечает на ваш вопрос в полном объеме, пожалуйста, установите флажок рядом с ответом, чтобы отметить вопрос. –