Есть четыре подхода.
1. Поместите команду в двойные кавычки
Необходимо избегать как двойных кавычек, так и знаков доллара:
watch "awk 'NR%2==0 '" filename.txt
2. Поместите команду в одинарные кавычки
Внутри одинарных кавычек не нужно "
ни $
экранировать. Однако невозможно включить одинарные кавычки в строку в одинарных кавычках. Если нам нужны одиночные кавычки появляются, работа вокруг, чтобы закончить одинарные кавычки и добавьте сбежавшего одиночные кавычки, \'
. Это выглядит так:
watch 'awk '\''NR%2==0 '\' filename.txt
3. Гибридный подход
Объединяя оба вышеперечисленных, мы помещаем первую часть строки в двойные кавычки, а вторую часть в одинарные кавычки:
watch "awk 'NR%2==0 '\' filename.txt
4. Без кавычек, но полностью сбежал
Если мы не заключим команду в кавычки, нам нужно будет экранировать все необходимые символы, активные для оболочки. Это включает пробелы, кавычки, фигурные скобки и знаки доллара:
watch awk\ \'NR%2==0 \\' filename.txt