эхо вложенные кавычки в tcsh - PullRequest
4 голосов
/ 05 июня 2009

У меня есть сценарий tcsh, который генерирует текстовый файл. Одна из строк в текстовом файле:

bla bla bla 'foo foo foo "bar bar bar"': etc etc;

Обратите внимание на вложенные ' и ", а также : и ;, которые должны быть там.

: и ; требуют, чтобы вся строка была заключена в кавычки. Однако, если я это сделаю, у меня возникнут проблемы с кавычками.

Команда:

echo "bla bla bla 'foo foo foo "bar bar bar"': etc etc;" >> outfile

Как я могу избежать кавычек вокруг bar bar bar, чтобы они печатались правильно?

1 Ответ

8 голосов
/ 05 июня 2009
echo "bla bla bla 'foo foo foo "\""bar bar bar"\""': etc etc;"

или это:

echo "bla bla bla 'foo foo foo "\"bar bar bar\""': etc etc;"

Это должно работать для простого примера, который вы привели, но может не помочь тому, что вы на самом деле пытаетесь сделать ... Цитирование в tcsh всегда раздражало меня, особенно при попытке определить псевдонимы с помощью комбинации обратных тиков кавычки и двойные кавычки.

Имейте в виду, что вторая форма работает для echo, но на самом деле она создает три отдельных аргумента в командной строке, которые (после интерпретации escape-последовательностей):

  • бла бла бла 'фу фу фу' бар
  • бар
  • bar "': и т. Д.;

Первая форма - та, которую вы должны использовать.

...