php - mv 命令不能从 bash 脚本 php 工作

标签 php linux bash

我正在运行以下代码来运行 bash 命令

shell_exec("sudo sh script.sh $conf_file");

$config_file 包含例如 abc.conf 的值

在我的 script.sh 文件中

#!/bin/bash
mv $1 /etc/apache2/sites-available/

我还允许 www-data 用户通过转到 sudo visudo 并在最后添加以下行来使用无密码的 sudo

www-data ALL=NOPASSWD: /var/www/html/myapp/script.sh

最佳答案

您正在通过 sudo 运行 sh,而不是 /var/www/html/myapp/script.sh。当您的脚本以 #!/bin/bash 行开始时,为什么您通过 sh 运行 script.sh 也很奇怪。只需尝试将 shell_exec 更改为:

shell_exec("sudo /var/www/html/myapp/script.sh $conf_file");

关于php - mv 命令不能从 bash 脚本 php 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36868423/

相关文章:

bash - 是否可以使用 xmlstarlet 或其他 bash 工具在 xml 文件内注释/取消注释标签

bash - 计算在线 session 的总时间 - 跟进

php - 邮政编码/位置搜索 - PHP

php - 从数据库中查找相同的 IP 并将其合并为一个结果

php - Zend_Console_Getopt 和应用程序环境 - 如何使用参数设置 APP_ENV?

php - SQLSTATE[23000] : Integrity constraint violation: 1048 Column 'property_id' cannot be null in Laravel 5. 2

linux - Linux (centos) 上的 DMG 处理

PHP后台作业到ubuntu xampp服务器,60-70分钟后被服务器中断

c - spinlock_check()函数的使用

linux - 删除 bash linux 文件夹上的变量扩展名