Попробуйте посмотреть, что csh определил для вашего псевдонима, введя это в командной строке:
% псевдоним bw
bjobs -w | awk '{print }'
Что случилось? оболочка расширила переменную оболочки с именем $7, которая оказалась ничем, и вставила это нулевое значение в определение псевдонима.
Таким образом, это само по себе предлагает решение, нам нужно указать доллар в 7 долларах, подальше от посторонних глаз оболочки, чтобы он был введен буквально в определение псевдонима:
% псевдоним bw "bjobs -w | awk '{print "\$"7}'"
Теперь, когда мы проверяем, что такое псевдоним:
% псевдоним bw
bjobs -w | awk '{print $7}'
и это именно то, что вы должны ввести в командной строке!
Чтобы выполнить запись определения псевдонима, мы выполняем это в 3 шага:
- The quoting is done by closing the double quotes just before the $ to
come out of the alias' quoting.
- Now the $ needs to be escaped via a backslash to stop it from being
expanded before the alias takes effect.
- Start the double quotes to re-enter the alias' quoting.
**Я хотел бы изобразить эту вещь наглядным образом, что делает ее очень тривиальной для понимания.