В моем питон скрипт у меня есть следующая строка -цитаты не Бейн сохраняемые эхо команды при выполнении из питона
oscmd = "sqlite3 $OMC_DB_DIR/.mcdata \"UPDATE IPADDRESS SET DESCRIPTION = 'NODE0' WHERE HOST LIKE '%-n1.%'\" >/dev/null" .
Я выполнить эту команду с помощью subprocess.Popen. Всякий раз, когда команда выходит из строя, я хочу отобразить неудачную команду на консоли.
Итак, я oscmd_display= "echo \"" + oscmd + "\""
. Я не просто использую печать, но использую эхо, потому что хочу, чтобы переменные среды, такие как $ OMC_DB_DIR, интерпретировались и отображали их фактические значения.
Однако, когда я бегу, и команда терпит неудачу, я получаю сообщение, как -
[ERROR ] Executing the following command failed :
sqlite3 /opt/store/.mcdata UPDATE IPADDRESS SET DESCRIPTION=NODE0 WHERE HOST LIKE %-n1.% >/dev/null
, то есть, все цитаты сняли.
Я хочу сохранить как «и» кавычки в моей команде.
Может ли кто-нибудь предложить решение?
Добавьте 'set -x;' в начало команды, и оболочка покажет вам строку при ее запуске. Вы не можете надежно вставить команду в строку и получить корректную работу котировки. Вы можете в основном сделать это для печати, но это не стоит. –