html中显示shell脚本的输出,网页从shell脚本中输入并显示结果
发布日期:2021-10-31 15:52:45 浏览次数:5 分类:技术文章

本文共 1689 字,大约阅读时间需要 5 分钟。

首先,不是在BASH脚本中使用$USERNAME。 $USERNAME是一个包含当前用户名的BASH变量。实际上,在BASH中使用UPPERCASE变量通常是一个糟糕的主意。大多数BASH环境变量都是大写字母,可能会导致混淆。让你的变量小写是个好习惯。

此外,因为我想你想要使用HTML表单来做到这一点,所以你不能让BASH从STDIN中读取数据。修改游脚本以将用户名作为参数:

BASH:

#!/bin/bash

user=$1;

DISPLAYNAME=`ldapsearch -p xxx -LLL -x -w test -h abc.com -D abc -b dc=abc,dc=com sAMAccountName=$user | grep displayName`

if [ -z "$DISPLAYNAME" ]; then

echo "No entry found for $user"

else

echo "Entry found for $user"

fi

的Perl:

#!/usr/bin/perl

use CGI qw(:standard);

use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

use strict;

use warnings;

## Create a new CGI object

my $cgi = new CGI;

## Collect the value of 'user_name' submitted by the webpage

my $name=$cgi->param('user_name');

## Run a system command, your display_name.sh,

## and save the result in $result

my $result=`./display_name.sh $name`;

## Print the HTML header

print header;

## Print the result

print "$result

";

HTML:

这应该做你所需要的。它假设这两个脚本都位于网页的./cgi-bin/目录中,并被称为display_name.sh和display_name.pl。它还假定你已经正确设置了他们的权限(他们需要由apache2的用户www-data执行)。最后,它假定您已经设置了apache2来允许执行./cgi-bin中的脚本。

是否有您想使用BASH的特定原因?您可以直接从Perl脚本执行所有操作:

#!/usr/bin/perl

use CGI qw(:standard);

use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

use strict;

use warnings;

## Create a new CGI object

my $cgi = new CGI;

## Collect the value of 'name' submitted by the webpage

my $name=$cgi->param('user_name');

## Run the ldapsearch system command

## and save the result in $result

my $result=`ldapsearch -p xxx -LLL -x -w test -h abc.com -D abc -b dc=abc,dc=com sAMAccountName=$name | grep displayName`;

## Print the HTML header

print header;

## Print the result

$result ?

print "Entry found for $name

" :

print "No entry found for $name

";

转载地址:https://blog.csdn.net/weixin_39987847/article/details/118137329 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:xp系统的计算机管理中用户在哪里,WINDOWSXP的用户管理和系统安全设置
下一篇:html5遍历集合数据,HTMLCollection集合能打印出来值,但是无法获取每一个值。

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月07日 13时12分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【已解决】VMware Vmware提示以独占方式锁定此配置文件失败 虚拟机开机黑屏 2019-04-26
【C++实现】编译原理 免考小队 NFA转换为等价的DFA 2019-04-26
【C++实现】编译原理 免考小队 消除一切左递归 2019-04-26
【数据挖掘】编程实现任意给定两个相同维度的向量之间的欧氏距离计算函数dist_E(x,y) 2019-04-26
【数据挖掘】编程实现任意给定两个相同维度的向量之间的夹角余弦相似度计算函数sim=sim_COS(x,y) 2019-04-26
【数据挖掘】使用 matlab 编程实现K最近邻算法 并进行归一化操作 2019-04-26
matlab 手写normalize函数 【数据归一化】 2019-04-26
【图像处理】matlab 实现线性对比度展宽算法 2019-04-26
【图像处理】matlab 实现灰度图像的直方图均衡化算法 2019-04-26
【图像处理】 matlab 实现彩色图像的直方图均衡化算法 2019-04-26
字节跳动前端面试准备(一) 2019-04-26
字节跳动前端一面面经 2019-04-26
【C++实现】编译原理 免考小队 FIRSTVT集生成算法 2019-04-26
php-rabbitmq结合rabbitmq_delayed_message_exchange实现延时队列 2019-04-26
【网络安全实验】解决 ERROR 1064 (42000): You have an error in your SQL syntax ... near … 2019-04-26
【建议前端必刷】 用 js 刷LeetCode 算法专题(全) 2019-04-26
【春招&实习&秋招】前端学习の优质资料整理&心路历程(已上岸) 2019-04-26
【手撕原理】面试官:来吧,手写一个简单版的 Promise 2019-04-26
js 实现数组去重 普通项与对象项 2019-04-26
js 让数组展平的 五种 方式 2019-04-26