2012-01-25 2 views
5

Существует аналогичный вопрос о Windows, но он не будет работать для компьютеров на базе Unix (специально для OS X).выполнить perl в командной строке без указания perl в UNIX

Я хочу набрать имя файла, скажем example.pl или example.pl parametertext.txt, и получить его знать для выполнения perl.

В файле указан #!/usr/bin/perl, чтобы он мог найти исполняемый файл. Вместо этого я получаю сообщение:

bash: example.pl: command not found 
+5

Разве это не должно быть '#!/Usr/bin/perl'? Без пробелов (не уверен, что это важно) и полный путь? Кроме того, ваш исполняемый файл .pl? (попробуйте 'chmod + x example.pl'). Не говоря уже о том, что '.' не находится в вашем' PATH', тогда вам нужно запустить './Example.pl', а не' example.pl'. –

+1

Также вы установили исполняемый файл? Что означает «не работает», можете ли вы дать сообщение об ошибке? –

+0

@ DanFego да, я думаю, автокоррект наткнулся на него, но я забыл/ – Chris

ответ

11

Вы можете сделать это таким образом,

  1. Найти интерпретатор/исполнителях путь. В этом случае его /usr/bin/perl или /usr/bin/env perl
  2. Добавьте его в первую строку файла как #!/usr/bin/perl.
  3. Дайте разрешение на выполнение в файл chmod +x example.pl

Теперь он будет работать

$ ./example.pl 
2

Вам нужно сделать верхнюю строку (далее «притон») #!/usr/bin/perl (обратите внимание на косую черту, где у вас есть место). Затем сначала нужно убедиться, что это действительно правильный путь к вашему perl исполняемому файлу (тип which perl, чтобы увидеть, где он). Если он находится в другом месте, исправьте путь соответствующим образом. Затем вам нужно убедиться, что скрипт имеет набор разрешений на выполнение. Введите ls -l example.pl и найдите x в первом столбце (в частности, четвертый символ). Если его нет, вам нужно сделать исполняемый файл сценария с chmod a+x example.pl. Наконец, для запуска программы вам необходимо использовать ./example.pl. ./ сообщает вашей оболочке, что вы хотите, чтобы скрипт находился в вашем текущем каталоге.

1

У меня есть две мысли, чтобы добавить:

1) использовать example.pl test1.txt свой путь должен содержать точку. echo $ PATH /usr/bin:/usr/X11R6/bin:/usr/bin/X11 :.

2) Ваш конец файла должен быть unix, \ n. По крайней мере, ваша строка shebang содержит excatly ваш путь perl, заканчивающийся \ n.

Смежные вопросы