0

我写了简单的脚本test

echo hello  #<-- inside test

如果我在你好后按一次输入,我的脚本将运行,如果我不按 - 它不会,如果两次我会收到我的 hello 并且找不到 + 命令,有人可以解释一下这种行为吗谢谢进步

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

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

source ./test
4

2 回答 2

2

几点:

  • 你不应该问带有 [csh] 和 [bash] 标签的问题——它们是完全不同的程序,实现完全不同的脚本编程语言

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

  • 发布您询问的实际代码,不带注释并展示您如何运行它。

于 2010-05-31T14:48:43.950 回答
0

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

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

于 2010-05-31T15:03:51.077 回答