2011-04-24 148 views
2

test.sh时出现错误:的Bash shell问题:运行一个简单的shell脚本

#!/bin/bash 
echo "helloworld" 

我设置文件模式为755。当我尝试通过键入“./test.sh”运行脚本,我得到这个:

helloworld 
./test.sh: line 2: /root: is a directory 

这是怎么回事???

+1

当你做'/ bin/bash -x ./test.sh; echo $?' – 2011-04-24 15:45:52

+1

您是否重定向输出?你究竟如何执行这个?什么用户? – 2011-04-24 15:48:23

+1

你是否像你正在执行的那样查看'test.sh'? 'cat ./test.sh; ./ test.sh'会很有趣。 – 2011-04-24 15:52:24

回答

1

将退出,看看

#!/bin/bash 
echo "helloworld" 
exit 
+0

添加“退出”确实有效。但为什么? – catinred 2011-04-24 15:55:04

1

我会寻找有趣的业务错误/信号处理和或PROMPT_COMMAND

所以,

echo $PS1 
echo $PROMPT_COMMAND 
trap 

是为了。

另一种方法是使运行bash的限制(即禁用选项的整体转换)

#!/bin/bash -r 

而后者则可以解决这个奇怪的行为,就不能解释啥子发生

0

我猜想从Windows编辑/重新使用Windows文件与\r里面,你移动与插入exit