У меня есть PHP-скрипт, который проходит через много сложностей и, в конце концов, выдает команду для запуска. Прямо сейчас, это печатает команду и затем выходит. Пользователь должен скопировать команду и вставить ее для запуска. Поскольку команда PHP выполняется в командной строке, пользователю было бы легче, если бы скрипт PHP мог разместить команду в командной строке. Пользователь может просто нажать Enter. (Да - это требование, чтобы человек выполнял команду, или я просто выполнил бы команду из сценария.)
Я попытался с помощью xclip скопировать команду в буфер обмена. Виснет Я использовал exec и system для его запуска. Команда для запуска находится в $ command, и я использовал:
exec("echo \"$command\" | xclip");
Как с exec, так и с системой, он зависает, пока я не нажму ctrl-C, и в буфере обмена ничего нет.
ОБНОВЛЕНИЕ Я обнаружил, что если я отправляю xclip в /dev /null в команде, он не зависает. Затем я могу добавить его в буфер обмена пользователя, и он / она может запустить его, используя Ctrl + Shift + V
exec("echo \"$command\" | xclip -sel clip -i > /dev/null");
Я попытался обернуть все это в сложные сценарии в командной строке, отследить последнюю строку вывода и попытаться вставить это в командную строку. Я могу заставить его напечатать команду, но не в командной строке. Он всегда печатает команду, а затем командная строка появляется под ней.
Я использую BASH для командной строки. Таким образом, любое решение должно работать в оболочке bash - при условии, что решение существует.