将Perl单线程转换为bash函数?

时间:2015-06-18 12:08:23

标签: bash perl function alias

有没有办法让perl单行成为bash函数?

#!/bin/bash
# ~/.bashrc:
stopwatch() {
   perl -wE 'for (reverse 1..(shift)-1) {system q!clear!;open FIGLET,q!|figlet -f banner -c!;printf FIGLET "%2d:%02d",$_/60,$_%60;sleep 1}' "$1"
}

source - ing ~/.bashrc投诉如下:

  • 在寻找匹配的'''
  • 时意外的EOF
  • 意外令牌“反向”附近的语法错误
  • 依旧......

通常shell wrapping当然有效,但在这里我尝试使用bash别名/函数来调用perl

必须有一种方法,而无需创建全新的*.pl文件。非常感激!

1 个答案:

答案 0 :(得分:0)

您也可以尝试以这种方式一起运行bash和perl脚本。 而且在你的情况下-E是我怀疑的地方。 perl -e总是有效,但perl -E在perl 5.8.8中不起作用

请参阅将perl与bash结合使用的代码

#!/bin/bash
# bash_test
echo "bash commands that you wish to write"
exit 0
# End of Bash part of the script.
# =======================================================
#!/usr/bin/perl
# This part of the script must be invoked with -x option.
print "here you can use your simple system() or exec() that you might wish to use right?";
# End of Perl part of the script.