免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5412 | 回复: 4
打印 上一主题 下一主题

perl中如何执行多条shell命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-18 15:47 |只看该作者 |倒序浏览
在某些时候需要执行多条shell命令,比如:(因为可能某些情况下,只能进入指定目录才能做文件操作)
cd /etc/ssh
cat sshd_config

那么这种情况下该如何写perl脚本? 单条命令我写的是:
$s =qx{cat /etc/passwd};

虽然chdir是可以实现,如:
        $pwd=`pwd`;
        chomp $pwd;
        chdir '/etc/ssh';
        $temp=`cat sshd_config 2>err.txt`;
        chdir $pwd;

但是需要实现的是传入的命令就是:
cd /etc/ssh
cat sshd_config
这种情况,如何来写perl?

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-12-14 14:57:19射手座
日期:2014-04-25 21:23:23
2 [报告]
发表于 2013-04-18 17:19 |只看该作者
本帖最后由 mcshell 于 2013-04-18 17:20 编辑

open FH,"/etc/ssh/sshd_confg";
print while <FH>;
close FH;

其实我还是没有看懂你意思。。用Perl内部的文件句柄不就可以读取文件吗?  为啥还要调用shell.

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
3 [报告]
发表于 2013-04-18 18:42 |只看该作者
`cat /etc/ssh/sshd_config`
`cd /etc/ssh;cat sshd_config;`

论坛徽章:
0
4 [报告]
发表于 2013-04-18 22:59 |只看该作者
可能我的例子举的不好,我的意思是在特定的时候,必须要cd 到指定目录,才能执行后续的命令;
cd是shell的内部命令(还有很多的内部命令,如: help, history, jobs, kill, let, local, logout),那么在perl中如何执行这些shell 内部命令,并取得执行结果?

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
5 [报告]
发表于 2013-04-19 09:08 |只看该作者
需求提得太不清晰.
没法理解.
my @ret=`cd /var/log;cat message `; ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP