微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在不显示shell窗口的情况下执行一个bash脚本

您好我试图通过PHP执行bash脚本,当脚本运行的shell界面出现几秒钟,然后消失。

然而,我需要的是一种运行bash脚本而不出现shell的方法。 在下面显示PHP网站上findexecInBackground函数,但它不适合我。 什么是最好的方法来做到这一点?

function convert($tmpName,$fileName,$fileSize,$fileType){ $old_path = getcwd(); chdir('C:xampphtdocsp-mastertools'); execInBackground("test.sh"); chdir($old_path); } function execInBackground($cmd) { if (substr(PHP_uname(),7) == "Windows"){ pclose(popen("start /B ". $cmd,"r")); } else { exec($cmd . " > /dev/null &"); } }

编辑:出现的shell窗口是Git Bash

编辑2:仍然有这个问题,尝试所有build议的解决scheme,并尝试从networking上的不同的,但没有运气,任何人都可以帮助吗?

使用sed扩展环境variables

用另外的文本写一个Netcatstream文件

在具有重复文件名的目录中移动多个文件

文件和pipe道分组到awk命令

从两个不同的文件中排除重复的行并生成新的?

如何在多核上运行使用bash进行pipe理的进程?

shell必须parsingls -Al输出获取最后一个字段(文件或目录名称)任何解决scheme

Linux / Bash:如何取消引用?

将文本附加到与Sed现有的第一行

寻找一个非常简单的自动按键的Bash脚本

您可以使用PHP内置的shell_exec函数。 它将通过shell执行一个命令,并在发生错误时将完整的输出作为字符串或空值返回。

您还需要将正在执行的脚本从test.sh文件中取出,并将其放入PHP函数,并将其作为参数传递给shell_exec函数。 窗口继续打开的原因是你在这里所做的和双击计算机上的文件来打开它是一样的,你正在有效地告诉命令行在命令行窗口中打开这个文件,然后运行其中的脚本。

句法

string shell_exec(string $cmd);

来源

http://PHP.net/manual/en/function.shell-exec.PHP

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐