index.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>NetConf参数配置</title> </head> <body> <?php // 检查是否有 POST 请求提交 if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 判断复选框是否被勾选 $run_script = isset($_POST['run_script']); // 获取表单数据 $content = $_POST['content']; // 检查文件是否存在 $file = '/etc/netplan/netconf.yaml'; if (file_exists($file)) { // 保存到文件中 if (file_put_contents($file, $content) !== false) { // echo "NetConf参数配置已保存<br>"; } else { // 保存失败,输出错误信息 echo "文件写入失败<br>"; } } else { // 文件不存在,输出错误信息 echo "$file 不存在<br>"; } } // 读取 netconf.yaml 文件的内容 $file = '/etc/netplan/netconf.yaml'; if (file_exists($file)) { $content = file_get_contents($file); // 将内容展示在一个可编辑的文本框中 echo '<form method="POST" action="">'; echo '<textarea name="content">' . htmlspecialchars($content) . '</textarea>'; echo '<br><br>'; echo '<input type="submit" value="保存">'; echo '</form>'; } else { echo "$file 不存在"; } ?> </body> </html> Initialpermissions.sh #!/bin/bash exec &> /var/log/Initialpermissions.log echo "Starting Initialpermissions.sh script..." # 更改根目录权限 chown -R www-data:www-data / # 复制所需的库文件 cp /usr/local/lib/libssl.so /usr/local/BONC/repository_run/3.1.1.BBU7100.230331_beta/gNB_DU/lib/ cp /usr/local/lib/libcrypto.so /usr/local/BONC/repository_run/3.1.1.BBU7100.230331_beta/gNB_DU/lib/ # 运行 install.sh 并把结果同时输出到指定文件和终端中 #bash /usr/local/BONC/repository_run/3.1.1.BBU7100.230331_beta/install.sh | tee /var/log/install_log.txt bash /usr/local/BONC/repository_run/3.1.1.BBU7100.230331_beta/install.sh 2>&1 | tee /var/log/install_log.txt /dev/tty #bash /usr/local/BONC/repository_run/3.1.1.BBU7100.230331_beta/install.sh &> /var/log/install_log.txt; cat /var/log/install_log.txt #bash /usr/local/BONC/repository_run/3.1.1.BBU7100.230331_beta/install.sh &> /var/www/html/install_log.txt echo "Initialpermissions.sh script completed." 如何加一个复选框判断是否调用Initialpermissions.sh的内容 如果运行Initialpermissions.sh的话就将运行结果展示在前端
时间: 2023-08-19 12:03:58 浏览: 104
你可以在原有的 HTML 表单中加入一个复选框,例如:
```
<input type="checkbox" name="run_script" value="1">运行 Initialpermissions.sh
```
然后在 PHP 代码中获取这个复选框的状态,并根据需要调用 Initialpermissions.sh 脚本并将运行结果展示在前端。例如:
```
<?php
// 检查是否有 POST 请求提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 判断复选框是否被勾选
$run_script = isset($_POST['run_script']);
// 获取表单数据
$content = $_POST['content'];
// 检查文件是否存在
$file = '/etc/netplan/netconf.yaml';
if (file_exists($file)) {
// 保存到文件中
if (file_put_contents($file, $content) !== false) {
// 如果复选框被勾选,则运行 Initialpermissions.sh 脚本
if ($run_script) {
// 调用 Initialpermissions.sh 脚本并获取运行结果
$output = shell_exec('/bin/bash /path/to/Initialpermissions.sh 2>&1');
// 将运行结果展示在前端
echo '<pre>' . htmlspecialchars($output) . '</pre>';
}
// echo "NetConf参数配置已保存<br>";
} else {
// 保存失败,输出错误信息
echo "文件写入失败<br>";
}
} else {
// 文件不存在,输出错误信息
echo "$file 不存在<br>";
}
}
// ... 代码略
?>
```
上述代码中,当复选框被勾选时,调用 `shell_exec()` 函数运行 Initialpermissions.sh 脚本并获取运行结果,然后将结果以 `<pre>` 标签的形式展示在前端。注意替换代码中的 `/path/to/Initialpermissions.sh` 为 Initialpermissions.sh 脚本的实际路径。
阅读全文