Кавычки в bash при отправке командных команд r cmd

Проблемы с одинарными кавычками в скрипте bash

Я видел этот пост, но моя проблема сложнее, и простая замена одинарных кавычек на двойные не сработает. Мне нужно запустить команду R CMD BATCH с одинарными и двойными кавычками в одинарных кавычках, что-то вроде этого

echo 'R CMD BATCH --no-save '--args "xxx.txt"' xxx.r' | qsub -cwd &

Что я должен делать?

2 ответа

Используйте здесь документ, а не трубу, что устраняет необходимость во внешнем уровне кавычек.

qsub -cwd <<'EOF' &
R CMD BATCH --no-save '--args "xxx.txt"' xxx.r
EOF

Я использую то, что я называю шаблоном 5 кавычек для этого:

 'this '"'"' that'

=> this ' that

 "this "'"'" that"

=> this " that

Другие вопросы по тегам