2013-01-09 51 views
1

改变目录我有一个脚本文件(“测试”瓦特/没有文件名),其中包含:使用bash脚本不工作

cd /userdata/waf/Template 
iaprod -python myscript.py>Outputlog 
echo "hello" 

当我进入命令行窗口,我键入以下内容,得到如下的输出:

-bash-3.00$ chmod 775 testing 
-bash-3.00$ ./testing 
: No such file or directorydata/acct/waf/Template 
<<Starting on sim1>> 
hello 

因此,出于某种原因,第一行中的change directory命令不起作用。然而,最后两行中的python脚本和回显工作正常。唯一的问题是我需要在正确的目录中运行python脚本。

任何想法,为什么光盘不工作的一切?如果我直接在命令行输入代码,一切正常。

+0

你在哪个操作系统上以及如何执行脚本?如果它是一个Makefile,那么除非使用括号将命令分组,否则该目录将不会保留。 –

回答

1

检查cd命令行末尾的寄存回车符(ASCII代码点13)。乱码错误信息表明有一个存在。

shell脚本中的行(除Internet协议中的文本之外的其他所有内容)必须以ASCII LF(代码点10)而非CR + LF结尾。

+0

嗯,我尝试在脚本文件上使用dos2unix,它仍然给我同样的错误。有另外一种方法可以推荐解决这个问题吗? – user1964692

+0

你可以产生脚本的十六进制转储('od -tx1'或类似的)吗?该行应以74 65 0a(ASCII:“t”“e”NL)结尾。我这样说是因为一个错误消息,其中':没有这样的文件或目录'覆盖了它出现的那一行的开头,看起来像一个零散的CR。 – Celada