shell脚本--eval执行shell命令
和其他语言的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,运行结果如下:
如需转载,请注明文章出处,谢谢!!!