Все,
Я пытаюсь использовать подстановку команд, чтобы сохранить аргументы командной строки в файле. Моя первоначальная мысль заключалась в том, чтобы просто поместить аргументы командной строки в одну строку в файле, а затем вызвать мою команду как command $( cat [arguments-file] ) other arguments
Однако это, похоже, не работает для меня правильно.
Я начал заниматься отладкой, включив отладку bash через set -x
и результат команды
command $( /tmp/arg-file ) File.xml
+ command -m '"Manhattan' Item 'MockService"' -P 'Hellp=Value' File.xml
Содержимое моего файла аргументов
-m "Manhattan Item MockService" -P Hellp=Value
Может ли кто-нибудь объяснить, почему при подстановке команд добавляются одинарные кавычки?
Они не. Одиночные кавычки видны только через set -x
чтобы устранить неоднозначность слов для читателя. Однако хранить такие аргументы команд в лучшем случае проблематично. Рассмотрите возможность хранения одного аргумента в каждой строке и с помощью read
и массив для создания командной строки.