和其他语言的eval功能差不多,都是将一个保存执行语句的变量作为参数,eval会让变量所保存的语句执行。

  下面是一个执行表单提交的命令:注意,这里只是示例,应用中不要这么使用,很危险

#!/bin/bash
#index.cgi echo "Content-Type:text/html;charset=utf-8"
echo cat << AAA
<html>
<head>
<title>run shell</title>
</head>
<body>
<form method="post">
请输入要执行的shell命令:<input type="text" name="code">
<input type="submit" value="run">
</form>
<pre>
AAA
if [ $REQUEST_METHOD = "POST" ];then
#使用cat或者tee接受post的方法
#query_string=`cat`
query_string=`tee`
code=`echo $query_string | sed 's/=/ /g' | awk '{print $2}' | sed 's/+/ /g'`
echo "您输入的命令是 "$code
eval $code
fi
cat << AAA
</pre>
</body>
</html>
AAA

  尝试提交命令 ls -la,运行结果如下:

shell脚本--eval执行shell命令的更多相关文章

  1. shell脚本中执行source命令不生效的解决办法

    一个shell脚本文件中有一个source命令,使用bash a.sh命令执行后source命令进行验证没有生效. 这是因为在shell脚本中执行source会看到效果,但是shell脚本执行完后再次 ...

  2. shell脚本中执行sql命令

    1.mysql 数据库表信息 2.shell脚本(a.sh)信息 #!/bin/sh mysql -u root << myInsert insert into test.t values ...

  3. 在shell脚本里执行sudo 命令

      可以 : echo "yourpasswd" |sudo -S yourcommand 但是不安全,因为密码都显示在shell脚本里面了-_- 引自http://hi.baid ...

  4. shell 脚本下执行Mongodb命令

    最近项目中搭建了两台mongodb的服务器,由于服务器只有两台的情况下,目前只是搭建了主从模式架构(官方目前并不推荐主从模式),缺点就是故障转移不变等等原因,而是推荐副本集模式(这里就不多说了)... ...

  5. shell脚本-批量执行机器命令

    场景:通过跳板机,批量获取线上机器日志 使用方式:run2 host 'ls -al /home/admin/' #! /bin/sh USER_NAME=$USER if [ $# -ne 2 ]; ...

  6. shell脚本中执行mysql命令

    1.mysql -hhostname -uuser -ppsword -e "mysql_cmd" 2. mysql -hhostname -uuser -ppsword < ...

  7. 在shell脚本中执行shell脚本

    任务下发 主节点脚本 任务管控脚本 [root@admin1 ~]# cat mytest.sh echo lovecode [root@admin1 ~]# cat myfor.sh #!/bin/ ...

  8. shell脚本中执行shell脚本(2)

    (a.sh)读取用户输入参数,并在脚本(b.sh)中使用 1.a.sh #!/bin/sh read -p "please input name value: " name ./b ...

  9. shell脚本中执行shell脚本

    1.a.sh #!/bin/sh name="hello" ./b.sh $name  2.b.sh(这里把b.sh与a.sh放在同一目录下,便于演示) #!/bin/sh ech ...

随机推荐

  1. sqli-labs安装

      平台:Win7 SP1     需要准备的东西:   1. Sqli-labs ,下载地址: https://github.com/Audi-1/sqli-labs   2.phpstudy   ...

  2. LeetCode算法题-Merge Sorted Array(Java实现)

    这是悦乐书的第161次更新,第163篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第20题(顺位题号是88).给定两个排序的整数数组nums1和nums2,将nums2中 ...

  3. 安利一波:Adobe 2019全家桶 破解版

    之前发过一篇Photoshop破解的文章,今天把笔记本换了个系统,发现之前那个amtlib.dll替换破解的方式不适用于最新版的Adobe 2019 CC系列了,刚好看到群里有大佬分享了一个全家桶,给 ...

  4. NGINX Load Balancing – TCP and UDP Load Balancer

    This chapter describes how to use NGINX Plus and open source NGINX to proxy and load balance TCP and ...

  5. 为什么二流程序员都喜欢黑php?

    为什么二流程序员都喜欢黑php? 为什么程序员都喜欢黑php?这个嘛!你骂一句php是垃圾试试,保准php程序员不揍扁你!这就好像自己的母校,纵然有很多不好的地方,但是只允许自己调侃,不允许外人骂半句 ...

  6. 文件是数据的流式IO抽象,mmap是对文件的块式IO抽象

    文件是数据的流式IO抽象,mmap是对文件的块式IO抽象

  7. UVA10817-Headmaster's Headache(动态规划基础)

    Problem UVA10817-Headmaster's Headache Time Limit: 4500 mSec Problem Description Input The input con ...

  8. 转://工作中 Oracle 常用数据字典集锦

    DBA工作中数据字典就等同于我们本和笔,时时刻刻也分不开的,不管是看状态,还是监控,都需要数据字典的支持,本文整理出来常用的数据字典系列,帮助大家来记住和汇总以便查询利用 ALL_CATALOG Al ...

  9. ESP8266 mDNS

    https://circuits4you.com/2017/12/31/esp8266-mdns/ 本教程介绍如何使用ESP8266进行多播DNS?在网络世界中,很难记住每个网站和计算机的IP地址,解 ...

  10. selenium中遇到div弹框,一起引申到其他弹框

    1.div弹框和DOM普通元素一样处理 2.出现一下就自动消失的弹框,也是在DOM中有描述的,可以使用xpath,用其内容定位 3.(转,其他弹框处理,包括alert和不同windows) https ...