我们可以在 perl 脚本中获取 shell 脚本吗?
例子:
方案一:
cat test1.sh
#!/bin/ksh
DATE=/bin/date
方案2:
cat test2.sh
#!/bin/ksh
. ./test1.sh
echo `$DATE`
方案3:
cat test3.pl
#!/usr/bin/perl
### here I need to source the test1.sh script
print `$DATE`'
如何在 perl 中获取 shell 以便在执行 test3.pl 时打印日期
谢谢
拉古
你不能做一个
system("source src.sh");
system()
启动一个新的子 shell 时,您的环境变量不会传递到运行 Perl 脚本的 shell。即使您的 shell 脚本导出变量,它也会将它们导出到子 shell,而不是实际的 shell。
一种解决方案是编写一个包装脚本
- 首先获取 shell 脚本,然后
- 运行 Perl 脚本
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)