【发布时间】:2015-01-21 16:32:13
【问题描述】:
我对 bash 和/或 perl 有一个非常神秘的问题。我将尝试描述这种行为。
通过运行 perl 脚本
./perlscript.pl
给我一个权限被拒绝的消息。
(我是文件的所有者和它的路径 - 从我的主目录并且文件包含#!/usr/bin/perl 并且是可执行的-rwxr-xr-x)
像这样运行脚本:
perl perlscript.pl
没问题……
谁能帮我修复我的bash?谢谢
$ which perl
/usr/bin/perl
$ head -1 file.pl | od -c
0000000 # ! / u s r / b i n / p e r l \n
0000020
【问题讨论】:
-
文件是否有 DOS 换行符?
-
您是想说
!#/usr/bin/perl还是打错字?正确的指令是#!/usr/bin/perl或更好的#!/usr/bin/env perl。 -
which perl返回什么? -
@Karlo,egrep 找不到
\r\n,因为 grep 是一个面向行的工具(grep 永远找不到\n)。试试:head -1 file.pl | od -c -
strace ./perlscript.pl vs strace perl ./perlscript.pl ... 寻找差异
标签: bash perl executable