怎么将bash(sh)的所有输出保存到log/txt中?

tee 命令

 这会将所有输出同时显示在屏幕上并追加到日志文件中。

bash your_script.sh 2>&1 | tee -a log_file.txt

其他方法不可用

只使用 >> 不会将除了print之外的所有保存

bash your_script.sh >> log_file.txt

>> 和 2>&1一起只会保存在日志中,现在的屏幕上什么都没有

bash your_script.sh >> log_file.txt 2>&1

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的话就将运行结果展示在前端
05-31
你可以在原有的 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 脚本的实际路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pengsen Ma

太谢谢了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值