[英]Unix script to automatically insert shebang into perl file
我正在練習一些Perl腳本,而不是每次我決定制作一個基本的Unix腳本時都不要鍵入shebang,該腳本將創建一個擴展名為.pl和shebang的新文件,然后打開該文件進行編輯。 我試過的是:
alias ep "echo '#! /usr/bin/perl' >> perl/\!*.pl; emacs perl/\!*.pl;"
但是,如果文件不存在,則會導致錯誤。 我發現這很奇怪,因為我認為>>會附加或創建。 因此,我將>>更改為>,並且僅當文件不存在時才起作用。 如果該文件確實存在,則會崩潰並顯示錯誤。 我嘗試添加一條if語句,但同時也會出現語法錯誤和錯誤的錯誤信息。 我所擁有的是:
alias ep "if [ ! -f perl/\!*.pl ] then echo '#! /usr/bin/perl' > perl/\!*.pl fi; emacs perl/\!*.pl;"
我想念什么? 我對Unix腳本不太熟悉,但是具有一般知識。
似乎您可能set -C
,也稱為set -o noclobber
。
您可以使用重定向操作符>|
來破壞文件>|
,或使用set +C
撤消該選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.