Я синхронизирую пользовательский двоичный файл в форме: ./prog --opt1=arg1 --opt2=arg2 --opt3="arg3"
Требуется, чтобы третий вариант имел аргумент в кавычках. В скрипте я сохраняю все параметры:
exec=./prog
opts="--opt1=arg1 --opt2=arg2 --opt3=\"arg3\""
Когда я пытаюсь синхронизировать программу, я получаю сообщение об ошибке, когда моя программа анализирует аргументы. Я предполагаю, что это потому, что он видит последний аргумент как не цитируемый. Вывод /bin/time
:
\bin\time -v $exec $opts
Error parsing args
(из моей программы)
Command being timed: "./prog --opt1=arg1 --opt2=arg2 --opt3="arg3""
Однако , когда я просто скопировать и вставить, что он утверждает , что команда, она работает нормально:
./prog --opt1=arg1 --opt2=arg2 --opt3="arg3"
работает нормально
Что делает /bin/time
и как я могу это исправить? Я предполагаю, что это связано с кавычками, как, может быть, это работает eval или что-то. Я не уверен, что с этим делать.