Unix скрипт для автоматической вставки shebang в perl файл - PullRequest
0 голосов
/ 30 марта 2011

Я практикуюсь с некоторыми сценариями Perl, и вместо того, чтобы набирать shebang каждый раз, я решил создать базовый сценарий Unix, который будет создавать новый файл с расширением .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 ]

3 голосов
/ 30 марта 2011

Похоже, у вас может быть set -C, также известный как set -o noclobber.

Вы можете пойти дальше и скопировать файл, используя оператор перенаправления >| или отменив опцию с помощью set +C.

1 голос
/ 30 марта 2011

вы не хотите делать это так; Есть много вещей, чтобы принять во внимание (это действительно Perl-файл, если он уже существует, и т. д.)

вы можете сделать это напрямую с помощью emacs

проверьте это: скелеты emacs и автоматическая вставка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...