使用PHP shell_exec()调用sh脚本时未设置变量

使用PHP shell_exec()调用sh脚本时未设置变量,php,sh,shell-exec,Php,Sh,Shell Exec,我目前有一个sh脚本: location=$1 imageNumber=$2 keyword=$3 page=$4 imagesInPage=$5 imagesToGet=$6 imageUrls=`curl -s "http://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=[MYAPIKEY]&text=$keyword&per

我目前有一个sh脚本:

    location=$1
    imageNumber=$2
    keyword=$3
    page=$4
    imagesInPage=$5
    imagesToGet=$6
    imageUrls=`curl -s "http://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=[MYAPIKEY]&text=$keyword&per_page=$imagesInPage&media=photos&license=1,2,4,5,7&page=$page" | sed '1,3d' | sed 'N;$!P;$!D;$d' | ./xml_to_urls 2> /dev/nul`

    currentImage=0

    for url in $imageUrls
    do
            if [ $currentImage -ne $imagesToGet ]
            then
                    curl -s "$url" > "$location/$imageNumber.jpg"
            else
                    break
            fi
            currentImage=`expr $currentImage + 1`
            imageNumber=`expr $imageNumber + 1`
    done
。。。它基本上要求Flickr API提供与参数对应的图像列表。然后,我循环遍历图像URL,将每个URL保存在指定的目录中

调用它的PHP脚本相当长,但下面是调用它的行:

shell_exec("./get_images \"" . $dir . "\" " . $currentImageNumber . " \"" . $keyword . "\" " . $page . " 500 500");
当我在命令行上运行命令ex:./get_images temp/0.75456300 1297381201 0 moose 1500时,没有出现任何问题。但是,当通过PHP脚本运行时,永远不会设置变量$imageUrls。我可以回显我设置imageUrls的命令,并在PHP创建的页面上显示URL,但据我所知,变量本身是空的


我能得到的任何帮助都会很好!请告诉我是否应该添加其他内容,或者如果我的问题具有误导性,这是我的第一篇帖子:D!谢谢

尝试在imageList变量赋值的输出周围添加dbl引号

imageUrls="`curl -s "http://www.flickr.com/services/rest/....."
我希望这有帮助


另外,作为一个新用户,如果您得到的答案有助于您记住将其标记为已接受,或给它一个+或-作为一个有用的答案

任何原因,整个事情都不是一个php脚本?是的,为了实用,我想这将是最好的选择,但是我刚上了一堂Unix/C/CGI的课,我想我会练习我刚学的一些东西。我已经有了PHP的基本格式,所以我只是用sh/c制作了所有其他部分。