我写了简单的脚本test
echo hello #<-- inside test
如果我按下一次后输入你好,我的脚本会运行,如果我不按 - 它不会,如果两次我会收到我的问候并且+命令未找到,有人可以解释一下这个行为感谢提前
This is not a part of the code, this is actual code
我通过Windows的编辑器在C-Shell上运行它 命令:
source ./test
答案 0 :(得分:2)
有些观点:
你不应该提出用[csh]和[bash]标签标记的问题 - 这些是完全不同的程序并实现完全不同的脚本编程语言
您永远不应该命名脚本(或任何其他程序)test
,因为这是bash的内置功能的名称
发布您询问的实际代码,无需注释并显示您如何运行它。
答案 1 :(得分:0)
我尝试了类似的案例。我写了一个类似你的脚本,使用Windows记事本(使用CRLF行终止符)保存它,并在bash中运行,与csh中的效果相同。问题是bash(所以也是csh)不理解Windows的2字节行终止符,它被解释为命令,显然不存在。 解决方案是:更改编辑器或配置当前编辑器以使用unix行终止符。
您可以尝试举例Notepad++。请记住将行终止符更改为LF。