我有一个经过很多复杂处理的PHP脚本,最后生成了一个供用户运行的命令。现在,它会打印命令,然后退出。用户必须复制该命令并将其粘贴以运行它。因为PHP命令是在命令行上运行的,所以如果PHP脚本能够将命令放在命令行上,则对用户来说将更加容易。用户只需按Enter。(是的,这是必须由人来运行命令,否则我只能从脚本内部执行命令。)
我尝试使用xclip将命令复制到剪贴板。挂了 我用exec和system来运行它。要运行的命令在$ command中,我使用了:
exec("echo \"$command\" | xclip");
使用exec和system时,它都将挂起,直到我按下ctrl-C并且剪贴板中没有任何内容。
更新我发现,如果我通过命令将xclip传递到/ dev / null,它不会挂起。然后,我可以将其添加到用户的剪贴板中,他/她可以使用ctrl + shift + v运行它
exec("echo \"$command\" | xclip -sel clip -i > /dev/null");
我尝试将整个内容包装在命令行中的复杂脚本中,拖尾输出的最后一行,然后尝试将其粘贴到命令行中。我可以得到它来打印命令,但是不能在命令行上显示。它总是打印命令,然后命令行出现在其下方。
我在命令行中使用BASH。因此,任何解决方案都必须在bash shell中工作-假设有解决方案。
您的PHP脚本不能仅提示用户“要执行此{command},请按Enter”,等待enter键,然后实际执行命令?
—
DavidPostill
@DavidPostill这是我的建议。它并没有(无知地)在做出决定。我说过,我想看看是否有可能做他们想做的事情。我的下一个行动计划是在PHP中编写一个伪造的bash shell,以便看起来您正在bash中运行所有内容-但随后,我将冒着一遍又一遍地在内部运行命令的风险。……
—
kainaw
婚介很烂时很难;)
—
DavidPostill
您可以使用“ -loops 1”代替“> / dev / null”。
—
艾耶尔