Здравствуйте
имеется непонятная проблема, полагаю связанная с пробелами
скрипт:
#!/bin/shCDVOLU=$(df | sed -ne "s,^$disk.*\(/Volumes.*\)$,\1,p" | grep -v store | grep -v alex)
echo $CDVOLU
CDVOLUM=$(echo $CDVOLU | sed "s/ / /g")/ #попытка заменить пробелы на "%2O"
echo $CDVOLUM
echo curl -H Content-Type: application/json -X POST -d {"jsonrpc":"2.0","id":"1","method":"Player.Open","params":{"item":{"directory":"'$CDVOLUM'"}}} http://192.168.1.5:8081/jsonrpc
echo `curl -H Content-Type: application/json -X POST -d {"jsonrpc":"2.0","id":"1","method":"Player.Open","params":{"item":{"directory":"'$CDVOLUM'"}}} http://192.168.1.5:8081/jsonrpc`
результат:
sh-3.2# ./cd1.sh
/Volumes/Rocket Ride
/Volumes/Rocket%2ORide/
curl -H Content-Type: application/json -X POST -d jsonrpc:2.0 id:1 method:Player.Open params:{item:{directory:'/Volumes/Rocket%2ORide/'}} http://192.168.1.5:8081/jsonrpc
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: application
curl: (6) Could not resolve host: id
curl: (6) Could not resolve host: method
curl: (3) [globbing] nested brace in column 14
100 87 100 76 100 11 90800 13142 --:--:-- --:--:-- --:--:-- 90800
{"error":{"code":-32700,"message":"Parse error."},"id":null,"jsonrpc":"2.0"}
пробел меняется корректно, но ссылку все равно не съедает
если пробел не менять, все то же самое - parse error
когда в переменной нет пробела, отрабатывает корректно
прокатывает так:
echo `curl -H Content-Type: application/json -X POST -d '{"jsonrpc":"2.0","id":"1","method":"Player.Open","params":{"item":{"directory":"/Volumes/Rocket Ride/"}}}' http://192.168.1.5:8081/jsonrpc`
но если заменить /Volumes/Rocket Ride/ на переменную, опять parse error