сначала я хочу извиниться за плохой заголовок, мою проблему лучше всего иллюстрирует следующий пример:
Эта команда работает нормально, хотя в этом нет особого смысла.
sudo bash -c 'pwd 2>/dev/null'
но когда я помещаю его в переменную и делаю:
COMMAND="sudo bash -c 'pwd 2>/dev/null'"
(set -xv; ${COMMAND})
Я получаю ошибку несоответствия цитирования:
+ sudo bash -c ''\''pwd' '2>/dev/null'\'''
2>/dev/null': -c: line 0: unexpected EOF while looking for matching `''
2>/dev/null': -c: line 1: syntax error: unexpected end of file
Проблема здесь, похоже, в пробеле между pwd и 2>/dev/null, работает следующее:
COMMAND="sudo bash -c 'pwd'"
(set -xv; ${COMMAND})
Проблема возникает, даже когда я просто ставлю пробел после pwd
Что я здесь делаю неправильно? и как мне это решить? Заранее спасибо.