Ниже строки пример моего кода
command mycommand /path/location arg1="my valu1" arg2="my value2"
когда я выполняю эту команду путем жесткого кодирования значения аргумента, она работает.
Но когда я использую код ниже:
for i in "$@" do
str+="$i "
done
command mycommand /path/location $str
where $str="arg1="my valu1" arg2="my value2""
Он не принимает "my value1" как одну строку. Он принимает «my» как одну строку и «value2» как отдельную строку.
Теперь, если я использую
command mycommand /path/location "$str"
затем $ str = "arg1 =" my valu1 "arg2 =" my value2 "" как только одна полная строка.
Но я хочу, чтобы команда выполнялась в следующем формате программным способом.
command mycommand /path/location arg1="my valu1" arg2="my value2"
Как это сделать?