Unix脚本自动将shebang插入perl文件

时间:2011-03-30 18:01:09

标签: bash unix

我正在练习一些Perl脚本,而不是每次我决定制作一个基本的Unix脚本时都会输入shebang,这个脚本会创建一个带有.pl扩展名和shebang的新文件,然后打开文件进行编辑。我试过的是:

alias ep "echo '#! /usr/bin/perl' >> perl/\!*.pl; emacs perl/\!*.pl;"

但如果文件尚不存在,则会导致错误。我发现这很奇怪,因为我认为>>会追加或创造。所以我更改了>>到>这只有在文件不存在的情况下才有效。如果文件确实存在,则只会因错误而崩溃。我尝试添加一个if语句但是这也给出了语法错误和错误的错误。我对if的看法是:

alias ep "if [ ! -f perl/\!*.pl ] then echo '#! /usr/bin/perl' > perl/\!*.pl fi; emacs perl/\!*.pl;"

我错过了什么?我不太熟悉Unix脚本,但是有一般知识。

2 个答案:

答案 0 :(得分:3)

您好像有set -C,也称为set -o noclobber

您可以使用重定向运算符>|或使用set +C撤消选项来继续破坏文件。

答案 1 :(得分:1)

你不想这样做;有很多事情需要考虑(如果它已经存在,那真是一个perl文件,等等)

你可以直接用emacs

来做

检查一下:emacs skeletons and auto-insert