首先,不是在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
";

html中显示shell脚本的输出,网页从shell脚本中输入并显示结果相关推荐

  1. Genesis脚本---自动输出Gberber274格式资料 脚本

    Genesis脚本-自动输出Gberber274格式资料 脚本 # !/bin/csh set GUI_CMD = $GENESIS_DIR/tmp/gui_cmd.$$ set GUI_RESP = ...

  2. 让linux脚本输出声音,即使在linux中没有麦克风,声音输出也会出现在声音输入中...

    我正在尝试同时播放声音和记录来自压电传感器的电压输出.为此,我将我的声卡模拟输出连接到扬声器,并将我的声卡模拟输入连接到压电传感器.在 当我录下来自传感器的信号但没有播放声音时,它工作得很好.但是,当 ...

  3. python执行shell命令查看输出_python 运行 shell 命令并捕获输出_python_酷徒编程知识库...

    这个问题的答案取决于你使用的python 版本. 最简单的方法是使用 subprocess.check_output 函数:>>> subprocess.check_output([ ...

  4. html中wmv播放不要自动播放,网页播放器 windowsmediaplay中控制从wmv的指定时间开始播放,指定时间停止播放...

    首页 > 网络编程 > 网页播放器 > 网页播放器 windowsmediaplay 网页播放器 windowsmediaplay中控制从wmv的指定时间开始播放,指定时间停止播放 ...

  5. 在python中、下列代码的输出是什么-Python 面试中 8 个必考问题

    1.下面这段代码的输出结果是什么?请解释. def extendList(val, list=[]): list.append(val) return list list1 = extendList( ...

  6. mfc链表中的数据如何排序输出_java程序员面试中最容易被问到的18个算法题(附答案!)...

    算法是比较复杂又基础的学科,每个学编程的人都会学习大量的算法.而根据统计,以下这18个问题是面试中最容易遇到的,本文给出了一些基本答案,供算法方向工程师或对此感兴趣的程序员参考. 1)请简单解释算法是 ...

  7. windows电脑上显示中文完好,新安装的办公系统上输入中文显示错误、无法显示中文

    问题描述:在自己电脑是所有地方都能正常显示中文字体,却在新下载的公司OA办公软件中输入中文简体字无法准确显示,当输入一个字体时不能显示,输入多个字却显示其他不对应的字. 解决方法: 打开设置,找到下面 ...

  8. 4.6 脚本及恶意网页攻击

    目录 一.预备知识:脚本及恶意网页 1.脚本 2.网页病毒 二.实验环境 三.实验步骤 四.实验思考 一.预备知识:脚本及恶意网页 1.脚本 脚本是使用一种特定的描述语言,依据一定的格式编写的可执行文 ...

  9. matlab矩阵输出txt文件中,matlab怎么把矩阵输出到txt

    1.matlab如何输出这样的矩阵到txt 带有非数值字符的输出,除了上面同学提到的自定义输出格式以外,还可以将其看成字符串进行输出.如下: clear clc %构造A矩阵 A = 1:9; A = ...

最新文章

  1. 数值数据表示的三要素
  2. 很好的阻止了事件的发生_请定好您的闹钟,八月,夜空中将发生这13件超酷的天文事件...
  3. SATA硬盘如何使用GHOSTSATA硬盘如何使用GHOST
  4. uva 10635 Prince and Princess(LCS成问题LIS问题O(nlogn))
  5. python海龟绘图_Python教学案例|海龟绘图三例
  6. 超级干货!服务端性能瓶颈定位思路总结
  7. 学习document.location.href和document.location.replace 区别
  8. 机器学习 之 客户分群案例
  9. 交换机TFTP配置备份
  10. 微信 vue html缓存,解决微信浏览器缓存站点入口文件(IIS部署Vue项目)_唇印_前端开发者...
  11. 360全景拼接 opencv_360度视频序列全景图拼接系统的设计与实现
  12. [RK3399][Android7.1.1]Tethering:修复使用USB共享网络,拔出USB后 USB共享没有自动关闭的问题
  13. element table 左对齐
  14. 浅析hybrid模式下地支付宝钱包和微信
  15. Windows7系统服务详解
  16. BPF-JIT中bug归类
  17. python xlwings在Linux上报错XlwingsError:Your platform only supports the instantiation via xw.Book
  18. Java中获取日期和时间
  19. oracle jta,JTA和两阶段提交,处理全局事务
  20. 用python读取股票基本信息_python-使用pandas datareader获取股票信息

热门文章

  1. jmeter进行性能测试_使用JMeter进行性能测试
  2. jsf教程_JSF范围教程– JSF / CDI会话范围
  3. primefaces_PrimeFaces 5.0 DataTable列切换器
  4. JavaFX技巧32:需要图标吗? 使用Ikonli!
  5. Java代理初学者指南
  6. 您需要了解的所有有关System.gc()的信息
  7. Spring Boot –如何跳过缓存thyemeleaf模板,js,css等以每次绕过重启服务器
  8. Java 10:将流收集到不可修改的集合中
  9. 使用JWT的Cloud Native应用程序
  10. 模拟Spring Security上下文进行单元测试