Как обернуть одну команду в одинарные кавычки

Здесь Ive набор команд, то, что я пытаюсь сделать, это войти в определенную папку, т. е., $path, который я передаю из PHP скрипта. Затем создайте там файл под названием baber.txt и написать $ключ, который также передается из PHP скрипта. Следующий шаг ie., получая url с curl, я не получаю ответ этой команды particlar, потому что все команды завернуты в двойные кавычки. Когда я пытаюсь обернуть все команды внутри single qotes, первая команда сама терпит неудачу, очень все, что я пробовал, дает ошибку, у кого-то есть идея о том, как цитировать эти команды.

               "cd $path
                if [ $? -eq 0 ]; then
                    touch laber.txt
                    if [ $? -eq 0 ]; then
                        echo $key >> laber.txt
                        if [ $? -eq 0 ]; then",
                            'response=$(curl --head -s -u 98ur5t9@:9@98ur5t GET "http://$url/laber.tx")
                            if [[ $response =~ "HTTP/1.1 200 OK" ]]; then
                                echo ok;
                            else
                                echo url NOT ok;
                            fi',
                        "else
                            echo 2;
                        fi
                    else
                        echo 3;
                    fi
                else
                    echo 4;
                fi"

1 ответ

  1. я думаю, что это ваша лучшая ставка (предполагая, что $urlэто установлено ранее в вашем коде bash. если это php var, то вам нужно будет заменить $urlна '.$url.'):

    'cd '.$path.'
    if [ $? -eq 0 ]; then
        touch laber.txt
        if [ $? -eq 0 ]; then
            echo '.$key.' >> laber.txt
            if [ $? -eq 0 ]; then
                response=$(curl --head -s -u 98ur5t9@:9@98ur5t GET "http://$url/laber.tx")
                if [[ "$response" =~ "HTTP/1.1 200 OK" ]]; then
                    echo ok
                else
                    echo url NOT ok
                fi
            else
                echo 2
            fi
        else
            echo 3
        fi
    else
        echo 4
    fi';
    

    ps: url намеренно .tx нет .txt?