为什么我的bash shell脚本不能一致地执行?

时间:2010-08-16 20:58:17

标签: bash shell

我在linux系统上遇到了一些奇怪的行为。我创建了一些bash脚本文件,并将其模式更改为可执行文件。但是,有些可以被调用和执行,而有些则不能(没有找到错误的msg命令)。结果,我有一个基于能够找到并执行的文件的cp文件,然后用一个文件中的内容替换新创建的文件,这个文件无法作为丑陋的工作执行。它对我有用,但只是想知道导致这个问题的原因。如果有人知道快速修复,那将是很好的,因为这个问题反复出现。

例如,您可以看到系统能够运行blastem,但不能运行bbrBlas

[c052308@sander ~]$ /home/c052308/bbrBlas -d ./BBR -l pt -p prior.txt -r
/home/c052308/bbrBlas: Command not found.
[c052308@sander ~]$ ./blastem

[c052308@sander ~]$ ./bbrBlas
./bbrBlas: Command not found.
[c052308@sander ~]$ ls -l bbrBlas blastem
-rwxr-xr-x 1 c052308 sashare 3108 Aug 18 17:03 bbrBlas
-rwxr-xr-x 1 c052308 sashare  798 Aug 12 12:06 blastem

1 个答案:

答案 0 :(得分:1)

确保您的shebang行(即第一行以#!开头)不包含\r0x0d),如果您在DOS或Windows下编辑脚本,可能会发生这种情况。实际上,请确保您的脚本不包含任何奇怪的字符 - 使用hexdump -C来查找它们。