回答
建模关闭文档中的代码示例在http://perldoc.perl.org/functions/system.html:
@args = ("mkdir", $directory);
system(@args) == 0
or die "mkdir failed";
Perl可以使目录,而system()
电话,但我相信你想要做其他的东西,只是使用的mkdir作为一个例子。
也可以在命令周围使用反引号来捕获输出,如果你需要的话(例如$ i ='cat foo.txt'将foo.txt的内容放入$ i) – Nialscorva
@Nialscorva:或者'如果你需要绕过Markdown'$ i = qx {cat foo.txt}'。 –
由于Perl有建于mkdir()
系统调用,你并不需要在所有使用system
命令:
my $directory = "...";
if (mkdir $directory)
{
croak "Failed to create directory $directory ($!)";
}
如果必须使用system
,这样做的安全方法:
if (system "mkdir", $directory)
{
croak "Failed to create directory $directory";
}
这种形式的system
语句(带有参数列表)避免了shell扩展的问题。
还有File :: Path软件包,它一次可以创建或删除多个关卡。 –
使用perl命令而不是依赖shell命令。 perl可以做很多事情,如果它不是built in或core module,它可能在CPAN上可用。
正如人们所提到的,mkdir
可用,所以大多数basic file related commands。
话虽这么说,这里的shell命令的污垢在Perl:
你想要的所有Perl脚本:
应该强调的是'exec'不会返回到调用程序,即运行perl代码的perl进程被'exec''程序替代。这意味着调用'exec'后的代码永远不会执行,除非exec不能调用程序。 –
@danielkullmann好点。我从来没有真正使用'exec',除了学习从未使用它,大约10-15年前。 =) – TLP
对于从Perl脚本执行任意系统命令,你需要使用系统命令用反引号
为电子商务。摹
在你的情况,用于创建你需要输入
系统(mkdir $directory
)目录; #note HTML是不显示的反引号,但反引号是发生之前的mkdir和$目录后
它将在$目录的名称
- 1. 从另一个终端发送命令到终端
- 2. VIM。发送命令到终端?
- 3. 用AppleScript发送命令到终端
- 4. 监控终端命令/覆盖脚本
- 5. 终端命令到苹果脚本
- 6. Python脚本在终端执行命令
- 7. 脚本命令 - 的bash Linux终端
- 8. 终端重定向命令
- 9. 多个linux终端同时向所有窗口发送命令
- 10. 使用PuTTY向Linux终端发送命令
- 11. 发出连接到shell脚本的终端命令
- 12. 如何从c#向超级终端发送命令(TCP/IP通信)。
- 13. 我如何从Java运行UNIX终端并向其发送命令?
- 14. 发送命令到终端从Java与它的空间
- 15. 发送命令输出从JSF managedBean将jQuery终端
- 16. 从AppleScript传递多个参数到终端命令脚本
- 17. 如何从shell脚本执行终端命令? (MacOS 10.12)
- 18. 运行终端从脚本和替换命令与变量
- 19. 在bash脚本中从当前终端运行命令
- 20. 如何从Python脚本执行终端中的命令?
- 21. 终端命令
- 22. 发送命令行参数NPM脚本
- 23. 发送SSH命令与脚本
- 24. python脚本发送命令给vim(mvim)
- 25. 如何发送命令到python脚本?
- 26. 如何使用PERL脚本向Windows命令提示符发送命令
- 27. 通过脚本文件向Tera Term发送命令
- 28. 在后台运行Perl脚本并向其发送命令
- 29. Ranorex脚本;如何向浏览器发送命令?
- 30. 如何从Web前端向GNU屏幕会话发送命令?
http://www.perlhowto.com/创建在当前工作目录一个目录执行expire_commands我相信应该有所帮助 – Joe