你的文件是 DOS 格式的, 转成 UNIX 格式就好了:
引用:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[21637 0] ; cat foo.sh
#!/bin/sh
foo=2
echo "foo" $foo
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[21637 0] ; hexdump foo.sh
000000: 23 21 2f 62 69 6e 2f 73 68 0d 0a 0d 0a 66 6f 6f #!/bin/sh....foo
000010: 3d 32 0d 0a 65 63 68 6f 20 22 66 6f 6f 22 20 24 =2..echo "foo" $
000020: 66 6f 6f 0d 0a foo..
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[21637 0] ; sh foo.sh
: command not founde 2:
foo 2
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[21637 0] ; dos2unix -o foo.sh
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[21637 0] ; hexdump foo.sh
000000: 23 21 2f 62 69 6e 2f 73 68 0a 0a 66 6f 6f 3d 32 #!/bin/sh..foo=2
000010: 0a 65 63 68 6f 20 22 66 6f 6f 22 20 24 66 6f 6f .echo "foo" $foo
000020: 0a .
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[21637 0] ; sh foo.sh
foo 2
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[21637 0] ; bye