奇怪的行为

时间:2010-05-31 14:43:32

标签: scripting csh

我写了简单的脚本test

echo hello  #<-- inside test

如果我按下一次后输入你好,我的脚本会运行,如果我不按 - 它不会,如果两次我会收到我的问候并且+命令未找到,有人可以解释一下这个行为感谢提前

This is not a part of the code, this is actual code

我通过Windows的编辑器在C-Shell上运行它 命令:

source ./test

2 个答案:

答案 0 :(得分:2)

有些观点:

  • 你不应该提出用[csh]和[bash]标签标记的问题 - 这些是完全不同的程序并实现完全不同的脚本编程语言

  • 您永远不应该命名脚本(或任何其他程序)test,因为这是bash的内置功能的名称

  • 发布您询问的实际代码,无需注释并显示您如何运行它。

答案 1 :(得分:0)

我尝试了类似的案例。我写了一个类似你的脚本,使用Windows记事本(使用CRLF行终止符)保存它,并在bash中运行,与csh中的效果相同。问题是bash(所以也是csh)不理解Windows的2字节行终止符,它被解释为命令,显然不存在。 解决方案是:更改编辑器或配置当前编辑器以使用unix行终止符。

您可以尝试举例Notepad++。请记住将行终止符更改为LF。